Top

hiroyuki.tank.support.site

簡単!マクロ講座

第15回〜穴埋-解説〜

 穴埋1〜穴埋3まではだいたいおわかりでしょうか。
 ちょっと難しいというご指摘がありましたので,予定は「繰り返し-For Next」でしたが,前回の穴埋1〜穴埋3の解説をします。
 左側の数字は説明のための行数です。

【穴埋1】
************************************************************
1 Sub 穴埋1() 'A3が「〃」だったら「東京」を入力-rangeを使う
2 If Range("a3") = "〃" Then
3 Range("a3") = "東京"
4 Else
5 MsgBox "同じじゃないよ"
6 End If
7 End Sub
############################################################

1行-「マクロの名前は『穴埋め1』」,「'」以下はコメント
2行-「もしセルA3が『〃』だったら」
  「Range("a3")」というのは,セルA3を指します。セルを指定する場合このように記述します。
3行-「A3に『東京』をいれる」
  文字をセルに入れるときは「"」で括りこのように記述します。
  入れるというのは「=」を使います。プログラムを書くときは数学の式をよく使いますが,意味は違うことがありますからその都度覚えていってください。
4行-「そうじゃなかったら」
  2行目の条件でなかったら次の行を実行します。
5行-「『同じじゃないよ』とメッセージを表示」
  これはメッセージボックスのところで練習しました。
6行-「End IF式終わり」
7行-「このプログラム終わり」

【穴埋2】
************************************************************
1 Sub 穴埋2() 'A3が「〃」だったら「東京」を入力-cellsを使う
2 If Cells(3, 1) = "〃" Then
3 Range("a3") = "東京"
4 Else
5 MsgBox "同じじゃないよ"
6 End If
7 End Sub
############################################################

 穴埋1と比べると2行目だけが違います。
 「If Cells(3, 1) = "〃" Then 」となっています。
 穴埋1は「Range」でしたが,ここでは「Cells」を使っています。
 Cells(3,1)の括弧の中の数字はセルの位置を数字で表しています。
 はじめの方が行で,次が列となります。Cells(3,1)は3行目の1列目となりますので,セルA3のことです。
 では,なぜわざわざCellsを使うかというと,RangeではRange("a3")のように列を表すために英文字を使う必要があります。プログラムの中で,いつも同じセルを指定する場合はこれでよいのですが,条件によって指定するセルを変えたい場合がよくあります。
 今回もずっとセルA3を見ていたのではいつまでたっても11行目までいくことができません。
 そのために,Cellsを使ってセルの位置を数字で変えていこうという作戦です。
 ここでは,Cellsはこのように記述するということを見てください。

【穴埋3】
************************************************************
1 Sub 穴埋3() 'A列i行目が「〃」だったらセルA3に「東京」を入力(iは変数)
2 i = 3
3 If Cells(i, 1) = "〃" Then
4 Cells(i, 1) = "東京"
5 Else
6 MsgBox "同じじゃないよ"
7 End If
8 End Sub
############################################################

 穴埋2と比べると,セルの指定にCellsを使っていることと,2行目が追加されています。
 2行目は,「i = 3 」です。これは「i」という変数(入れ物)に「3」を入れるということです。
 iに3がはいっていますから,Cells(i, 1)は1列目の3行目となりセルA3のことです。
 穴埋2で解説したセルの位置を変えるためCellsを使った理由がここでよくわかります。

 どうでしょう?ちょっと難しいかもしれませんが,RangeやCellsや変数が使ってあるということがわかればいいと思います。

| hiroyuki.tank.support.site.Top | このページのTop | マクロ講座目次 | 前回 | 次回 |