エクセルマクロ_テキストボックスをシートに反映
エクセルマクロ初心者です。(2003使用_ユーザーフォーム)
ユーザーフォームにリストボックスとテキストボックスを配置しています。リストボックス(Sheet1データを反映)の管理番号データを取得し、Sheet2のA1最終行に記載するところまではできました。
その後、もしテキストボックス1に日付型データ(回答日)があれば、先ほどの管理番号取得行の列のとなり(B列)に記載、空白であれば記載しない。
もしテキストボックス2に日付型データ(出荷予定日)があれば、先ほどの管理番号取得行の列のとなり(C列)に記載、空白であれば記載しない。
もしテキストボックス3にデータ(数量)があれば、先ほどの管理番号取得行の列のとなり(C列)に記載、空白であれば記載しない。
としたいのですが、offsetを使おうとしたのですが、うまくできませんでした。
すみませんが、どなたかご親切な方ご教授よろしくお願いいたします。
(エクセルSheet1=データベース)
C5 D5
管理番号 品名
アカ12 りんご
アオ56 みかん
クロ34 なし
クロ89 すいか
アオ12 もも
(エクセルSheet2=記入シート)
管理番号 回答日 出荷予定日 数量
アカ12 9月20日 9月23日 100
アオ56 9月21日 800
↑回答日の記載はない場合もあります。
リストボックス1で選んだ管理番号取得行に一行に内容を表示させたいと思っています。
Private Sub UserForm_Initialize()
With ListBox1
.ColumnWidths = "0;0;50;50"
.ColumnCount = 4
.RowSource = "Sheet1!A5:D" & Worksheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Row
End With
End Sub
Private Sub CommandButton1_Click()
Dim lRow As Long
With Worksheets("Sheet2")
lRow = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A" & lRow + 1).Value = ListBox1.List(ListBox1.ListIndex, 2)
End With
(ユーザーフォーム配置)
リストボックス1
テキストボックス1(回答日=9/20)
テキストボックス2(出荷予定日=9/21) テキストボックス3(数量=900) テキストボックス4(コメント=送り先一部変更あり)
すみませんが、どなたかご親切な方ご教授よろしくお願いいたします。
お礼
有難うございます。