[Excel VBA] まずはステップ実行のやり方

VBAプログラミング

前回の投稿↓でプログラミングがいかに誰でも出来て簡単かを説明したけど、今回は実際にプログラミングをExcelの中に入れて、動かしてみよう!

サンプルデータの準備

まずはExcelを開いて、サンプルデータとして↓をコピペしてね。

貼り付け先は一番左上で、「顧客番号」がセルのA1になるようにね。

顧客番号顧客名電話番号
1株式会社しろまる03-1111-1111
2有限会社くろまる03-2222-2222
3あかまる株式会社0120-000-000
4しばいぬ株式会社0120-111-111
5といぷーどる株式会社03-3333-3333
6ちわわ株式会社0120-222-222

もしExcelに貼り付けたときに、きれいに表にならないときは、↓これを全てコピーしてExcelに貼り付けて、そのあとA列を選択した状態で、Excelのデータタブの区切り位置をクリックして、「カンマやタブの区切り位置~」を選択して「次へ」で、区切り文字のところで「カンマ」を選択して、「次へ」で「完了」をクリックするときれいに表になるはずだよ。

顧客番号,顧客名,電話番号
1,株式会社しろまる,03-1111-1111
2,有限会社くろまる,03-2222-2222
3,あかまる株式会社,0120-000-000
4,しばいぬ株式会社,0120-111-111
5,といぷーどる株式会社,03-3333-3333
6,ちわわ株式会社,0120-222-222

次に、開発タブにあるVisual Basicをクリックしてね。開発タブがない場合は、↓この投稿を参考。

開いたら↓このようになっているかな?そうしたらこの真ん中の空っぽのスペースにこの下にあるコードを丸ごと貼り付けてね。

コード

'セルに色を付けるプログラムだよ。
 Sub ColoringCells()
'行数カウンター
Dim RowCounter As Integer

'データが始まるのは2行目から
RowCounter = 2

'1列目が空白になるまでループ
'2行目の1列目からチェックするよ。途中で空白があったらそこで繰り返しはおしまいになるよ。
Do Until Cells(RowCounter, 1) = ""

    '株式会社が名前についていたら、セルをオレンジ。ついてなければ白
    'Instrという関数は特定の文字が含まれていたら、その文字の開始位置を返すよ。
    If InStr(1, Cells(RowCounter, 2), "株式会社") > 0 Then
        'ColorIndex = 45はオレンジを表しているよ
        Cells(RowCounter, 2).Interior.ColorIndex = 45
    Else
        'ColorIndex = 2は白を表しているよ
        Cells(RowCounter, 2).Interior.ColorIndex = 2
    End If

    RowCounter = RowCounter + 1

Loop

End Sub

貼り付けたら一回保存しておこう。保存するときに↓このメッセージが出ると思うから、いいえをクリックして、

ファイルの種類にExcel マクロ有効ブックを選択して保存しよう。

そしたらコードを貼り付けた画面に戻ってきて、↓この緑色の再生ボタンを押してみよう。

うまくセルが色づけされたかな?もし色づけされなかったりエラーが出るようだったら、データの貼り付け位置が間違ってないか確認してみてね。

もし↓のエラーが出るようだったら、OKを押して、一度Excelを保存したあとに閉じて、

ファイルを開きなおしてみよう。↓みたいなセキュリティの警告というメッセージが出るから、コンテンツの有効化をクリックして、それからまた開発タブのVisual Basicを開いて、緑のボタンを押して実行されるか試してみてね。

このプログラムは一瞬で終わるから、もしカーソルが砂時計状態だったりExcelが固まったりしていたら、他に何か問題があるはずだよ。

色づけがうまくいったら、一旦オレンジ色のセルは元の白色に戻して、次はプログラムを1行ずつ実行してみよう。

まずは↓のようにVisual Basicの画面を少し小さくして、Excelのシートと横並びになるようにしてね。

次に、Visual Basicの画面で、今度はF8キーを1回押してみよう。こんな風に最初の行が黄色でハイライトされたかな。

そしたらF8キーをもう一回おしてみよう。そうすると、ハイライト箇所が次の行に移動したかな。これはステップ実行といって、プログラムをチェックするときに1行ずつ確認するための方法なんだ。これで、プログラムが実際にどんな風に実行されているかを確認できるよ。

またF8キーを何度かポンポン押してみてね。そうするとある時点で最初の行の
セル の「株式会社しろまる」が黄色になったかな。

また続けて押していくと、今度は別の行の「株式会社」という名前が付いているところが黄色になったかな。

F5キーを押すか、さっきの緑色のボタンを押せば、最後まで一気に実行されるよ。

うまくいったかな?次回はプログラムの中身を解説するよ。

[Excel VBA] コードの中身を理解しよう
前回の投稿↓でExcelにプログラムを貼り付けて、実行してみたけど、その中身を1つずつ解説するよ。前回教えたようにステップ実行をやっていくとわかりやすいから、この記事を読みながら、ステップ実行で最初の行から見ていってね...

コメント

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