難易度:★★☆(やや難)
※当校のExcel VBAコースを補足する内容となっています。
ExcelでVBAというプログラムを動かすためには、VBEの画面を出して、コードウィンドウという場所にプログラムを書く、ということは覚えましたか?
では、実際にプログラムを書いて動かしてみましょう。
1.Excelのセルに市松模様を描こう
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.セル範囲を広げてみよう
さっきは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つの要素 とは何か、また色々なサンプルコードも見てみてくださいね。