Excel VBA | セル範囲を参照

VBA
スポンサーリンク

では「在庫表」を自動生成するサンプルコードを作ってみましょう。初心者でも理解しやすいように、商品名・数量・単価・金額を自動で入力し、見出しを整えるマクロにします。


在庫表自動生成コード

Sub CreateInventoryTable()
    Dim ws As Worksheet
    Set ws = Worksheets.Add
    ws.Name = "在庫表"
    
    ' 見出し行を作成
    ws.Range("A1:D1").Value = Array("商品名", "数量", "単価", "金額")
    With ws.Range("A1:D1")
        .Font.Bold = True
        .Interior.Color = RGB(200, 200, 250) '薄い青
        .HorizontalAlignment = xlCenter
    End With
    
    ' サンプルデータを入力
    Dim items As Variant
    items = Array("りんご", "みかん", "バナナ", "ぶどう", "いちご")
    
    Dim i As Long
    For i = 0 To UBound(items)
        ws.Cells(i + 2, 1).Value = items(i)          '商品名
        ws.Cells(i + 2, 2).Value = (i + 1) * 5       '数量
        ws.Cells(i + 2, 3).Value = (i + 1) * 100     '単価
        ws.Cells(i + 2, 4).FormulaR1C1 = "=RC[-2]*RC[-1]" '金額 = 数量×単価
    Next i
    
    ' 表全体の整形
    With ws.Range("A1:D" & UBound(items) + 2)
        .Borders.LineStyle = xlContinuous
        .EntireColumn.AutoFit
    End With
End Sub
VB

解説

  • 新しいシートを作成Worksheets.Add で「在庫表」という名前のシートを追加。
  • 見出し行Array("商品名","数量","単価","金額") を使って一括入力。
  • 商品データ → 配列 items に果物の名前を入れてループで入力。
  • 数量・単価 → 簡単に (i+1)*5(i+1)*100 でサンプル値を生成。
  • 金額列 → 数量×単価を数式で自動計算。
  • 整形 → 枠線を付け、列幅を自動調整。

実行結果イメージ

商品名数量単価金額
りんご5100500
みかん102002000
バナナ153004500
ぶどう204008000
いちご2550012500

このコードを走らせると、在庫表が一瞬で完成します。
次のステップとして「在庫が一定数以下なら赤色にする」など条件付き書式を組み込むと、さらに実用的になります。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました