難易度:★★☆(やや難)

※当校のExcel VBAコースを補足する内容となっています。


ExcelでVBAというプログラムを動かすためには、VBEの画面を出して、コードウィンドウという場所にプログラムを書く、ということは覚えましたか?

では、実際にプログラムを書いて動かしてみましょう。

1.Excelのセルに市松模様を描こう

10×10のセル範囲にパターン模様を描いてみよう

Excelのセルを塗りつぶして、市松模様を描いてみましょう
最初は縦10×横10の範囲でやってみよう

緑と黒を交互に1列塗って、コピー&ペーストすればいいんじゃないの?

コピペはしないで、すべてプログラムを実行して表示します。
最初はコードを写すことから始めましょう。

VBEの画面を出して、「コードウィンドウ」を確認しておきましょう。

↓クリックすると、入力するコード(一例)が表示されます。まずはそのまま入力してみましょう。


Sub Lesson1()
    Dim i, j, n As Long
    Dim sw As Boolean  
    Application.ScreenUpdating = False
    n = 10
    sw = True    
    With ActiveSheet
        For i = 1 To n
            For j = 1 To n
                If j Mod 2 = Abs(sw) Then
                    .Cells(j, i).Interior.Color = RGB(0, 0, 0)
                Else
                    .Cells(j, i).Interior.Color = RGB(28, 194, 139)
                End If
            Next j
            sw = sw + 1
        Next i
        .Rows("1:" & n).RowHeight = 22.5
        .Range(Columns(1), Columns(n)).ColumnWidth = 3.13
    End With    
    Application.ScreenUpdating = True    
End Sub
      

何が書いてあるか、全然分からないんだけど…

意味は分からなくて大丈夫。頑張って最後まで入力しましょう。

コードを入力し終わったら、保存と実行です。

  • コードを入力したウィンドウを閉じます。
  • 「F12」キーを押して、「名前をつけて保存」をします。このとき、「ファイルの種類」を「Excelマクロ有効ブック」にしてください。
  • 「Alt」キーを押しながら「F8」キーを押すと、マクロ選択のウィンドウが表示されます。「Lesson1」を選んで実行してください。エラーが出たら、「Alt」キーを押しながら「F11」キーを押してVBEの画面を再度表示させてからコードをよく見て修正し、もう一度①から再度実行してください。

うまく見本通りの結果になりましたか?エラーメッセージが表示されたり、思ったような結果にならなかった場合はコードの修正をしましょう。

「Alt」キーを押しながら「F11」キーを押して、VBEの画面を再度表示してください。コードをよく見て間違っているところを修正し、もう一度①から実行しましょう。

うまく動きましたか?

今は、書いたプログラムの意味が分からなくても大丈夫です。こうやって書いて動かすんだという流れだけつかんでくださいね。

2.セル範囲を広げてみよう

コードを変更して、50×50のセル範囲にパターン模様を描こう

さっきは10×10の範囲だったけど、次に50×50の範囲を塗りつぶしてみましょう。コピペは大変だから、これもプログラムでね。

その前に、いま塗りつぶした色を一度リセットします。

範囲選択して、塗りつぶしの色を「なし」に…

待って!これもプログラムでやります。
1で使った、VBEで書きましょう。

1で塗りつぶした色を一度リセットします。

  • 「Alt」キーを押しながら「F11」キーを押し、VBE(Visula Basic Editor)を起動します。
  • 次のコードを、1で書いたコードの下に書き、ウィンドウを閉じます。
  • 「Ctrl」キーを押しながら「S」キーを押して「上書き保存」をします。
  • 「Alt」キーを押しながら「F8」キーを押すと、マクロ選択のウィンドウが表示されます。「Lesson1Clear」を選んで実行してください。エラーが出たら、「Alt」キーを押しながら「F11」キーを押してVBEの画面を再度表示させてからコードをよく見て修正し、もう一度①から再度実行してください。

Sub Lesson1Clear()
    With ActiveSheet.Cells
        .Interior.Color = xlNone
        .UseStandardHeight = True
        .UseStandardWidth = True
    End With    
End Sub

元に戻った!

では、範囲を広げるプログラムを考えます

もう一度同じようなプログラムを書かないといけない?

1で作ったプログラムを、VBEを使って1か所変えるだけで大丈夫。
どこを変えればいいか考えてみましょう

①で作ったプログラムの5行目、 n=10 を n=50 に変えればOK!

  • 「Alt」キーを押しながら「F11」キーを押し、VBE(Visula Basic Editor)を起動します。
  • 1で書いたコードの5行目、「n=10」を「n=50」に書き直します。
  • 「Ctrl」キーを押しながら「S」キーを押して「上書き保存」をします。
  • コードを入力したウィンドウを閉じます。
  • 「Alt」キーを押しながら「F8」キーを押すと、マクロ選択のウィンドウが表示されます。「Lesson1」を選んで実行してください。思った通りの結果にならない場合は、「Alt」キーを押しながら「F11」キーを押してVBEの画面を再度表示させてからコードをよく見て修正し、もう一度①から再度実行してください。

まとめ

Excelを使って、VBAでプログラミングをする流れはだいだい分かったでしょうか?プログラムコードを暗記する必要はありません。雰囲気が掴めればOKです!

プログラムを作るうえで最も重要な3つの要素 とは何か、また色々なサンプルコードも見てみてくださいね。