YSC でパソコン講習のアシスタントをしていた時、「エクセルで請求書を作る」というVBAの例題があった。残念ながら1日で完成するまでに至らなかったが、「シートのコピー」が今後役に立つ‥‥ のではないかと、残すことにした。
「請求書雛形」というシートがある前提。
- Worksheets("請求書雛形").Copy
- これでは新しいブックを作ってしまう。
- Worksheets("請求書雛形").Copy after:=Worksheets(2)
- '2番目のワークシートの後ろに作る。
- Worksheets("請求書雛形").Copy after:=Worksheets("請求書雛形")
- 請求書雛形の後ろに作る。
- Worksheets("請求書雛形").Copy after:=Worksheets(Worksheets.Count)
-
- 最後に追加する。
- Worksheets(Worksheets.Count).Name = Kokyaku
- 追加したシートの名前を変更する。
-
以下は残骸で、未完成のコード。
'ワークシート名を取引先にする。 Kokyaku = "Bセンター" Worksheets(Worksheets.Count).Name = Kokyaku '顧客名をセルA6にセットする。 Worksheets(Kokyaku).Range("A6").Value = Kokyaku 'セルE2に今日の日付をセットする Worksheets(Kokyaku).Range("E2").Value = Date '「販売実績」シートのデータを請求書にコピーする。(未完成) Cnt = 12 For i = 4 To 12 If Worksheets("販売実績").Cells(i, 2).Value = Kokyaku Then Worksheets(Kokyaku).Cells(Cnt, 1).Value = Worksheets("販売実績").Cells(i, 1).Value '日付 Worksheets(Kokyaku).Cells(Cnt, 2).Value = Worksheets("販売").Cells(i, 3).Value '商品 Worksheets(Kokyaku).Cells(Cnt, 3).Value = Worksheets("販売").Cells(i, 4).Value '単価 Worksheets(Kokyaku).Cells(Cnt, 4).Value = Worksheets("販売").Cells(i, 5).Value '数量 Worksheets(Kokyaku).Cells(Cnt, 5).Value = Worksheets("販売").Cells(i, 6).Value '金額 Cnt = Cnt + 1 '出力行を1っ進める。 End If Next