エクセルVBAってよくわからない。
「初心者向け入門書」を読んでもなんのことやらさっぱりわからない!
「初心者向け入門書」を読む前の入門書ってないのかな?と思ってました。
私は55歳から独学でエクセルVBAを勉強しました。
イメージをつかんで理解するのに2年もかかってしまいました。
そんな頭の固いシニアでも今では実用レベル。
私にもわかるかしら?
まずエクセルVBAのイメージをつかんでもらってから入門書を読む方が効率が良いと
私の経験から確信しています。
そこで超簡単なコードを考えました。
エクセルVBA ってこんなことができるんだと言うイメージをつかんで欲しい。
なーんだ簡単じゃん と思っていただければしめたものです。
そこで 4つの簡単なVBAコードをまず試してください。
その前にプログラムを書く準備ね
VBA環境設定とコードを書く準備
まずエクセルVBAプログラムができるパソコン設定かどうかの確認です。
エクセルを開いて下記のように「開発」と表示されていればOKです。VBAコードが書けます。
下のように「開発」と表示されていなければ設定が必要です。
下記手順で「開発」にチェックを入れてください。
次に、エクセル画面を開けば「開発」と表示されています。
①<開発> クリック
②<Visual Basic>クリック
③<挿入>クリック
↓
④標準モジュール でコードを書く画面が表示されます。
コードを書く画面をコードウインドウと言います。
コードウインドウが表示されない場合は黄色丸印の部分をクリックしてください。
命令文1(位置を入力するコード)
それでは初めのコードです。B3のセルに8を入力するコードです。
下記コードをコーピーしてコードウインドウに貼り付けてください。
或いは直接コードウインドウに入力しても構いません。
Sub セル入力()
Cells(3,2).value=8
End Sub
そして まずコード内のどこでもよいですからカーソルをクリックしてから
▶印をクリックしてください。
そうすれば命令が実行され、B3のセルに8が入力されます。
(命令文1を簡単に解説します)
決まり事1
命令は
Sub () で始まり
End Sub () で終わる
決まり事2
Sub の後は命令の名前を入力する。
例の場合は「セル入力」が名前になります。
(名前は簡潔に、そして他の命令の名前とダブらない)
決まり事3
cells(3,2)はセルのの位置を表しており、
縦に3 横に2の位置(エクセルB3の位置です。別の書き方はRange(“B3”))
決まり事4
「=」 は 8をcells(3,2)に入力するという意味です。
算数の =(イコール)の意味ではないので注意!
「=」 の右の数字(文字)を 「=」 の左のセルに入力するだけのことです。
理屈抜きで、今はそうなんだと思ってください。
命令2(繰り返し処理をするコード For〜 Next)
次に繰り返し処理です。C列の4行目から8行目まで「5」を入力する場合のコードです。
命令文1の下に次のコードを書いてください。
命令文1と命令文2の間に自動的に区切り線が入ります。
そして ▶印をクリックして、命令を実行してください。
命令どおり実行されます。
Sub 連続入力()
Dim i As Long
For i =4 To 8
Cells(i,2).Value=5
Next
End Sub
決まり事1
繰り返し処理の時は For で始まり
Next で終わる
決まり事2
For の後ろは i (変数という。英語なら何でも良いが一般的に iが使われる)
= の後ろの 4 to 8 は 4から8 という意味で
4から8 各数字を 左の i に1命令ごとに入力する という意味。
決まり事3
i (変数)を使う時は Dim i As Long というコードを書く。
i は整数(Long)ですという意味です。
今は、ふーんそうなんだと思ってください。
命令文3(もしxxなら if〜)
if文です。条件分岐です。
例えば B列3行目の数字が5より上の場合に、横に〇を記入したい命令です。
命令文2の下に次のコードをを書いてください。
Sub 大きいか()
if Cells(3,2)>5 Then
Cells(3,3)=”〇”
End if
End Sub
▶印をクリックして、命令を実行してください。
決まり事1
if文のときは
if で始まり
End if で終わる
決まり事2
Then のあとに 条件が正解の時の処理を書く。
上記の3つの命令文を組み合わせることによって いろいろな命令文が書けます。
命令文4(まとめて実行)
最後に上の3つの命令文を、いちいちカーソルを合わせ実行を繰り返すのはめんどうくさいですね。
一連の命令文を一挙に実行してみましょう!
下記コードを一番最初、命令文1の前に書きます。
Sub まとめて実行()
Call セル入力
Call 連続入力
Call 大きいか
End Sub
エクセルに入力されている数字を一旦削除します。
「まとめて実行」の命令文の中でカーソルを置き、▶印をクリックして、命令を実行してください。
この「まとめて実行」命令をクリックするだけで
この命令の中の各命令文を引っ張って来てくれます。
どうでしょうか。
これぞプログラムの醍醐味!
まとめ
命令文をまとめてみます。
Sub まとめて実行()
Call セル入力
Call 連続入力
Call 大きいか
End Sub
ーーーーーーーーーーーーーーーー
Sub セル入力()
Cells(3,2).value=8
End Sub
ーーーーーーーーーーーーーーーーーーー
Sub 連続入力()
Dim i As Long
For i =4 To 8
(i,2).Value=5
Next
End Sub
ーーーーーーーーーーーーー
Sub 大きいか()
if Cells(3,2)>5 Then
Cells(3,3)=”〇”
End if
End Sub
ーーーーーーーーーーーー
まずは実行してみてください。
実際にエクセルがどう動くか 目で見て実感してください。
それによってイメージがつくと思います。イメージができると入門書の文章も理解できてくると思います。
まずはやってみること!
動画でも解説しています。
コメント
こんにちは、これはコメントです。
コメントの承認、編集、削除を始めるにはダッシュボードの「コメント」画面にアクセスしてください。
コメントのアバターは「Gravatar」から取得されます。