エクセルVBA超入門講座(6) -表のデータをプログラムに書くには

表のデータをゲットせよ

CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 100

エクセルでプログラムを作るとき、ほかのプログラミング言語にはない機能が必要になります。いったい何でしょうか?

表のデータをプログラムに取り込んだり、表にデータを書き込む機能です。

x = Cells(2, 3).Value

プログラムにこう書くと、表の2行目の3列目、つまりC2セルの値がxに書き込まれます。

反対に、

Cells ( 4 ,1).Value = x

と書くと、変数xの値が表の4行目の1列目、つまりA1セルに書かれます。

シートを区別しておかないと

もしもシートがたくさんあったら、Cells ( 1, 2).Value と書いてもどのシートの B1 セルのことだか分かりません。たまたまそのときに一番上にでていたシート(Activeになっていたシートの B1 セルが選ばれてしまいます。

シートが複数あるときは、シートを特定します。

Sheets(“Sheet2”).Cells (1,2).Value  のように書きます。

同様に、開いているエクセルファイルが2つ以上あるときにはファイル名も指定します。

Worksheets(“File1.xlsm).Sheets(“Sheet2”).Value のように書きます。

住所を書くときに、町内会の名簿だったら、3丁目から書けばわかるけど、国内に通じるように書くには県名や市の名前から書くというのと同じことです。
ファイル名とシートを指定しておけば完璧です。

バリューって何ぞや?

Cells (1, 2).Value などと書いて説明してきましたが、このValue って何なんでしょうか? 

Cellの位置さえ分かればそこの値を取るだけだから、x=Cells(1,2) でいいんでねえの。と思った人もいるかもしれません。

ところが、セルの情報は値だけではないのです。

たとえば、セルの色を示します。
Cells(1,2).Interior.Color = xlRed
と書けば B1 のセルを赤く変えることができます。

また、
Cells(3,1).Borders(xlEdgeBottom).Weight = xlThick
と書けば A3 セルの下の線を太字に変えることができます。

エクセルのセルには値以外にも色とか罫線とかいくとかの情報を持っているのです。ですからその要素の一つである値を取得したいときは、セルのValue と指定する必要があるのです。


(B) エクセルプログラミング初級勉強会 5000円。詳しくはこちら

  • 7/27(土)横浜 13:00-16:00
         マクロの操作とセルの色や罫線の自動編集編
  • 8/4(日) 横浜 13:00-16:00
         セル内の文字列の編集編

(C) 夏休みの自由研究ができあがる、親子エクセルプログラミング教室 
   親子で5000円。詳しくはこちら

  • 7/27(土)横浜 10:00-12:00
         クイズゲームを作ってみよう
  • 8/4(日) 横浜 10:00-12:00
         かるたゲームを作ってみよう