[Excel 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にプログラムを貼り付けて、実行してみたけど、その中身を1つずつ解説するよ。 前回教えたようにステ...