
これまでの説明でもちょくちょく出てきていましたが、ここで「セルの値」の扱い方について詳しく紹介したいと思います。
目次
セルの指定の仕方
VBAでは、セルを指定して値を取得したり、セルに値を出力するような場面がたくさん出てきます。
この「セル」の使い方には「Range」「Cells」の2通りの方法があります。
①Rangeの使い方
まずはRangeから。
これは行列を「A1」のように指定してセルの座標を取得します。
「Range(“指定したいセルの座標”).Valie」というように記述すれば、特定のセルの値を操作することが出来ます。
■セルの値を取得したいとき
値を取得するときって、大体変数に入れたいからかと思って、変数と書いていますが別に代入先はなんでもいいです。
=(イコール)の右側にRangeを書くことで値を取得することが出来ます。
また、代入先の変数の型によって、セルの値が文字や数値に自動変換されます。
■値をセルに出力させたいとき
今度は逆に=(イコール)の左側にRangeを置き、入れたい値を隣に書きます。
変数に値を代入するときと同じ感覚です。
こちらも上と同じように、入れた値が文字なら文字として、数値なら数値としてセルに挿入されます。
②Cellsの使い方
CellsもRangeと基本的に使い方は同じです。
こちらは、行数と列数をカンマで区切って数値で入力します。
Rangeの「A1」のような指定の仕方と行列の順番が逆になっている事に注意してください。
行列どちらも数値で記入することが出来るので、繰り返し処理などで、複数のセルを動的に指定したい場合はCellsでセル指定するのがおすすめです。
こちらの記事ではCellsの特徴を利用して九九表を作成しています↓
■セルの値を取得したいとき
■値をセルに出力させたいとき
別シートのセルを扱う方法
上で紹介した2つの方法で指定されるセルは、マクロが実行された時アクティブになっている(開かれている)シートのセルに対して行われます。
どのシートを開いていても特定のシートのセルを指定したい、別のシートのセルを指定したいという場合があると思います。
そんな時は、下のように指定します。
■Rangeの場合
■Cellsの場合
使い方
それぞれの指定方法の左に「Worksheets(“シート名”).」を追加しています。
これは、「”シート名”」に指定されたシートにターゲットを変更していて、そのシートの指定されたセルを特定してくれるようになります。
ちなみに、シート名とは、Excelの下にあるこれです↓
初期状態だと「Sheet~」のような名前になっていますが、好きな名前に変えることもできます。
まとめ
セルの指定法補はVBA特有の物で、もちろん他のプログラミング言語では使用しません。
ですが、VBAを扱う上ではセルの扱い方は必要不可欠な知識なので、しっかり覚えておきましょう。
ここでいったんVBAの話ではなく、次はVBAで作ったマクロが入ったExcelの保存方法について紹介します。
■次のページ