|
|
| Excel VBA Macro ・ コンボボックス・コントロール ・ FAQ |
|
コンボボックスの値を違うシートの別のセルに貼り付けるには?
|
|
|
|
Question 059k |
|
 |
 |
|
|
389ページ [5-2-16図] ◆ 環境・・ Excel 2003 & Windows XP

コンボボックスの値を違うシートの別々のセルに貼り付けることが出来ないでしょうか?
先生の本の通りでほとんどいいのですが、その列の値を伝票に反映させたいのですが。
|
|
Answer |
Copyright (C) 2007.5.3 永井善王 |
|
|
拙著「Excel VBA マクロ組み方講座」本をご購入いただき、ありがとうございます。
389ページの【5-2-16図】のマクロは、ユーザーフォームにあるコマンドボタンがクリックされたときに動作するイベントプロシージャで、下記のとおりです。
Private Sub CommandButton1_Click() '受注ボタンがクリックされた
TEL = ComboBox1.Value 'コンボボックスの値を取得する
氏名 = TextBox1.Value
住所 = TextBox2.Value
日時 = Label6.Caption
品名 = ListBox1.Value
If TEL <> "" And 氏名 <> "" And 住所 <> "" And 品名 <> "" Then '全て入力されていれば
Cells(行 + 2, 2) = TEL 'DBシートにTELをセットする
Cells(行 + 2, 3) = 氏名
Cells(行 + 2, 4) = 住所
Cells(行 + 2, 5) = 日時
Cells(行 + 2, 6) = 品名
Cells(行 + 2, 1) = "" '削除マークをクリアする
If 新旧区分 = "新" Then '新規客なら
Range("A1").Sort Key1:=Columns("B"), Header:=xlGuess 'TEL番号順に並べ替える
End If
リストをリセットする
Else
MsgBox "入力もれがあります、補充してください", , タイトル
End If
End Sub
2行目のコード TEL = ComboBox1.Value で、コンボボックスの値を変数「TEL」に取得しています。
そして、8行目のコード cells(行 + 2, 2) = TEL で、アクティブシートのセルに代入しています。
よって、あなたが言われる「違うシートの別々のセル」を、仮に、同じブックの「伝票」シートの A1セルとすると、
Worksheets("伝票").Range("A1").Value = TEL
のようなコードを追加すれば実現できると思います。 では、ガンバって! 結果をお知らせください。
参考ページ … 入力・選択時に動作するイベントマクロ
|
|
|
先生には、前回、請求書作成では、大変お世話になりました。会社で、毎日使い、重宝しております。
2年前に買った、先生の本をひっぱりだし、新たの挑戦をしていたとこです。
まだ、やりはじめたばかりですが、これを応用して、完成したいと思ってします。
先生の回答どうり入力してみて、出来ました。 ありがとうございました。
|
|
|
|
|