前提・実現したいこと
[日付を参照したい]
あらかじめ1〜30日まで日付が挿入された請求書シートに、
別シートの複数データを該当の日付と同じ行にコピーするマクロを作成したいです。
発生している問題・エラーメッセージ
いまの私の作成したIf構文を使用したVBAコードでは上から順に詰めてコピーされ、
1日目から順にあらかじめ振られた日付を無視して貼り付けられてしまいます。
日付を参照してコピーをすることで、データのない日は空欄のままにしたいです。
※VBA初心者です。
エラーメッセージ
該当のソースコード
VBA
1Sub 会社ごとの受注データを請求書へ() 2 3 '請求書のタイトル行を取得する 4 Dim r As Integer 5 r = Worksheets("請求書").Range("B17").Row 6 7 '請求書へ受注データを書き写す 8 Dim LastRow As Integer 9 LastRow = Worksheets("受注一覧").Cells(Rows.Count, 2).End(xlUp).Row 10 11 Dim i As Integer 12 For i = 2 To LastRow 13 14 If Worksheets("請求書").Range("B5").Value = _ 15 Worksheets("受注一覧").Range("B" & i).Value Then 16 r = r + 1 17 18 '日付 A2 - B18 19 Worksheets("請求書").Range("B" & r).Value = _ 20 Worksheets("受注一覧").Range("A" & i).Value 21 '商品 C2 - C18 22 Worksheets("請求書").Range("C" & r).Value = _ 23 Worksheets("受注一覧").Range("C" & i).Value 24 '単価 D2 - E18 25 Worksheets("請求書").Range("E" & r).Value = _ 26 Worksheets("受注一覧").Range("D" & i).Value 27 '個数 E2 - F18 28 Worksheets("請求書").Range("F" & r).Value = _ 29 Worksheets("受注一覧").Range("E" & i).Value 30 '料金 G2 - H18 31 Worksheets("請求書").Range("H" & r).Value = _ 32 Worksheets("受注一覧").Range("G" & i).Value 33 End If 34 Next i 35End Sub
試したこと
And構文をIf構文へ追加しようとしましたが、いまいちどう書けばよいかわかりません。
Microsoft Excel for Mac 16.28 (最新版)
「If Worksheets("請求書").Range("B5").Value = _」で「B5」のセルが固定されていますが、ここは問題ないですか?