前回作成したMyFindNumber部分にMySaveDataを追加してください。
If MyFindNumber(Worksheets("請求書").Range("x6")) = 0 Then
MySaveData
End If
■請求書データを一覧に追加する
ln = Worksheets("一覧").Range("B1048576").End(xlUp).Row + 1
でB列に入力されている最終行を探しています。追加はその下の行からなので+1しています。
For lrow = 24 To 41 で請求書明細の開始行から最終行までループします。
If Worksheets("請求書").Cells(lrow, 2) <> "" Or Worksheets("請求書").Cells(lrow, 23) <> "" Then
これで日付か金額の入力チェックをしています。入力があれば追加します。
Private Sub MySaveData()
Dim ln As Long
Dim lrow As Long
Dim lco As Long
lco = 0
ln = Worksheets("一覧").Range("B1048576").End(xlUp).Row + 1
For lrow = 24 To 41
If Worksheets("請求書").Cells(lrow, 2) <> "" Or Worksheets("請求書").Cells(lrow, 23) <> "" Then
Worksheets("一覧").Cells(ln + lco, 2) = Worksheets("請求書").Range("U8") '日付
Worksheets("一覧").Cells(ln + lco, 3) = Worksheets("請求書").Range("X6") '請求書No.
Worksheets("一覧").Cells(ln + lco, 4) = Worksheets("請求書").Cells(lrow, 4) '品名コード
Worksheets("一覧").Cells(ln + lco, 5) = Worksheets("請求書").Cells(lrow, 4) '品番
Worksheets("一覧").Cells(ln + lco, 6) = Worksheets("請求書").Cells(lrow, 9) '品名
Worksheets("一覧").Cells(ln + lco, 7) = Worksheets("請求書").Cells(lrow, 15) '数量
Worksheets("一覧").Cells(ln + lco, 8) = Worksheets("請求書").Cells(lrow, 17) '単位
Worksheets("一覧").Cells(ln + lco, 9) = Worksheets("請求書").Cells(lrow, 19) '単価
Worksheets("一覧").Cells(ln + lco, 10) = Worksheets("請求書").Cells(lrow, 23) '金額
lco = lco + 1
End If
Next
End Sub
■追加した一覧シート