エクセル表のセルの指定(選ぶ)に変数を使うと、人間の代わりにプログラムに働いてもらいやすくなります。
これまでの勉強では、
cells(1,1).value
のように、セルを数字で指定していました。
これを変数にすると、便利になるのでトライしてみましょう。
その前に、このページから読み始めるとわからないと思うので、勉強を始める人は
から読む事をオススメします。
モチベーションを高めたい人は
から読む事をオススメします。
セルを変数で指定してみる
コピペ用です
Dim hensuu As Long
hensuu = 15
Cells(hensuu, 2).Select
過去の勉強と同様に、緑の部分をコピペしてください。
hensuu = 15
で、15が入っています。
プログラムを実行すると
Cells(15,2)を選択して終わります。
エクセル表で、選択中のセルを示す緑の枠が
Cells(15,2)にあるのが確認できます。
セルを変数で指定して値を操作する
コピペ用です
Dim hensuu As Long
hensuu = 1
If Cells(hensuu, 1).Value = “” Then
Cells(hensuu, 2).Value = “空白です”
End If
先ほどは
.Select
でセルを選択するだけでしたが、今度は
.Value
で、値を操作します。
エクセル表には何も記入しないでください。
プログラムを見ていきましょう。
hensuu = 1
で、hensuuに 1 を入れています。
次にIf文の意味を解説します。
hensuu には、 1 が入っているので
Cells(hensuu,1)=Cells(1,1)
です。
もし Cells(1,1) が 空白だったら
Cells(1,2) に 空白です という文字を表示します。
Cells(hensuu, 2).Value = “空白です”
となっていますが
“←は、プログラム上で文字を扱うためのものなので、表には出てきません。
同じIf文が使える
今度はエクセル表の
Cells(2,1) に、
東京都
と入力してください。
コピペ用プログラムです。
Dim hensuu As Long
hensuu = 1
If Cells(hensuu, 1).Value = “” Then
Cells(hensuu, 2).Value = “空白です”
End If
hensuu = hensuu + 1
If Cells(hensuu, 1).Value = “” Then
Cells(hensuu, 2).Value = “空白です”
End If
このプログラムの赤枠のIf文は、全く同じです。
一つ目の赤枠の上で、hensuuに 1 を入れています。
赤枠内では、セルは1行目の値が操作されています。
結果は、先ほどと同じく
Cells(1,2) に 空白です と表示されます。
二つ目の赤枠の上にある
hensuu = hensuu + 1
でhensuuに+1をして、hensuuに 2 が入った状態です。
If文が実行されて
Cells(2,1)
には、東京都 という文字が入っていて空白ではないから
Cells(2,2)には、
空白です の文字は表示されません。
実行結果はこのようになります。
Cells(1,1)
が空白なので、cells(1,2)に 空白です の文字が表示されています。
値のチェック
このプログラムは、入力漏れをチェックするものです。
例では空白か否かだけですが、文字数や内容のチェックなど、人間がチェックするのと同じ条件をセットできます。
間違っていたら、セルに色を付けるなどもできます。
エクセル表の機能で、入力の段階でガチガチに制約をかけると、使い勝手が悪くなって利用者が面倒になります。
なので、入力した後に機械にチェックをさせています。
こういう気の使い方をすると、職場で皆が使いやすいものが作れます。
変数で操作するメリット
上記のプログラムでは、同じIf文を2回書いています。
もし1000のデータを扱うなら、If文を1000回書くことになります。
そうすると面倒なので、セルを変数で操作するメリットがありません。
そういう時に使うのが、ループ文という繰り返しの処理です。
これを使うと、If文は1回だけ書けば良いので、プログラムの記述がシンプルで楽になります。
ループ文は人間の思考と離れているので、少しとっかかりにくいです。
また別の機会に解説します。
今回は、セルを変数で操作する事だけ知っていただけば大丈夫です。
システム設計(難しくないです)についても書きました!
