Excel VBA 逆引き集 | エクセル方眼フォーム

Excel VBA
スポンサーリンク

エクセル方眼フォームの基本

「エクセル方眼紙」とは、セルの高さと幅を同じにして紙の方眼のように見せるレイアウトのことです。帳票や申請書などをExcelで作るときによく使われます。
ここでは エクセル方眼フォームをVBAで扱う方法 を、初心者向けにコード例やテンプレートをかみ砕いて説明します。


基本の考え方

  • 方眼フォームの特徴
    • セルを正方形にして罫線を引くことで「紙のフォーム」のように見せる。
    • 入力欄やラベルをセル結合で表現することが多い。
  • VBAでできること
    • 自動で方眼紙レイアウトを作る
    • フォームにデータを入力する
    • フォームを初期化する
    • 入力チェックを行う

テンプレ1:方眼紙レイアウトを自動作成

Sub CreateGridForm()
    Dim ws As Worksheet: Set ws = Worksheets.Add
    ws.Name = "Form"
    
    ' セルを正方形に設定
    ws.Cells.ColumnWidth = 3
    ws.Cells.RowHeight = 20
    
    ' 枠線を引く
    ws.Range("A1:J20").Borders.LineStyle = xlContinuous
    
    MsgBox "方眼フォームを作成しました!"
End Sub
VB
  • ポイント:
    • ColumnWidthRowHeight を調整して正方形に。
    • Borders.LineStyle で罫線を引く。

テンプレ2:入力欄を自動で作成

Sub CreateInputFields()
    Dim ws As Worksheet: Set ws = Worksheets("Form")
    
    ws.Range("B2:D2").Merge
    ws.Range("B2").Value = "氏名"
    
    ws.Range("B3:D3").Merge
    ws.Range("B3").Value = "年齢"
    
    ws.Range("B4:D4").Merge
    ws.Range("B4").Value = "住所"
    
    MsgBox "入力欄を作成しました!"
End Sub
VB
  • ポイント:
    • Merge でセル結合してラベルを作る。
    • 帳票の見た目を整える。

テンプレ3:フォームにデータを登録

Sub RegisterData()
    Dim ws As Worksheet: Set ws = Worksheets("Form")
    Dim db As Worksheet: Set db = Worksheets("Data")
    
    Dim lastRow As Long
    lastRow = db.Cells(db.Rows.Count, "A").End(xlUp).Row
    
    db.Cells(lastRow + 1, 1).Value = ws.Range("E2").Value   ' 氏名
    db.Cells(lastRow + 1, 2).Value = ws.Range("E3").Value   ' 年齢
    db.Cells(lastRow + 1, 3).Value = ws.Range("E4").Value   ' 住所
    
    MsgBox "データを登録しました!"
End Sub
VB
  • ポイント:
    • フォームの入力欄(例:E列)からデータを取得。
    • 「Data」シートに追記。

テンプレ4:フォームを初期化(入力欄クリア)

Sub ClearForm()
    Dim ws As Worksheet: Set ws = Worksheets("Form")
    
    ws.Range("E2:E4").ClearContents
    
    MsgBox "フォームを初期化しました!"
End Sub
VB
  • ポイント:
    • 入力欄をクリアして次の入力に備える。

テンプレ5:入力チェック(Validate処理)

Sub ValidateForm()
    Dim ws As Worksheet: Set ws = Worksheets("Form")
    
    If ws.Range("E2").Value = "" Then
        MsgBox "氏名を入力してください"
        Exit Sub
    End If
    
    If Not IsNumeric(ws.Range("E3").Value) Then
        MsgBox "年齢は数値で入力してください"
        Exit Sub
    End If
    
    MsgBox "入力内容は正しいです!"
End Sub
VB
  • ポイント:
    • 空欄チェックや数値チェックを追加。
    • 不正な入力を防げる。

例題で練習

'例1:方眼紙レイアウトを作成
Sub Example1()
    CreateGridForm
End Sub

'例2:入力欄を作成
Sub Example2()
    CreateInputFields
End Sub

'例3:フォームにデータを登録
Sub Example3()
    RegisterData
End Sub

'例4:フォームを初期化
Sub Example4()
    ClearForm
End Sub

'例5:入力チェック
Sub Example5()
    ValidateForm
End Sub
VB

初心者向けポイント

  • 方眼紙レイアウトは「見た目重視」 → セル結合や罫線で帳票を作る。
  • 入力欄を決めておく → どのセルに入力するかを固定。
  • 登録処理は「最終行に追記」 → データベース的に使える。
  • 初期化処理を用意 → 入力欄をクリアして次に備える。
  • Validate処理を組み合わせる → 入力ミスを防ぐ。

👉 この「エクセル方眼フォームテンプレ」を覚えておけば、Excel VBAで 帳票入力・データ登録・初期化・入力チェック を一通り自動化できるようになります。

タイトルとURLをコピーしました