2017年6月20日火曜日

仕事で覚えたEXCEL小技〜EXCEL VBAで、少しずつ、考えながら、作る。

 EXCEL VBAでプログラムを作るとき、わかっているところから作り、大きく育てていくと意外とうまくいく。最近、会社のワンパターン作業をEXCEL VBAで自動化した際、この手法を採用した。ここで、便利なコマンドが「Debug.Print」だ。
 Debug.Printは「イミディエイト・ウィンドウ」というデバッグ用のVBAのウィンドウに変数の値などを出力してくれるので、ちょっと確認したいときに非常に役に立つ。
 例えば、こんな感じで使う。
   クロス集計のEXCEL表はあるんだけど、元データがない。そこで、元データを生成するコードを作るケースを想定してみよう!
 ・クロス集計表の行は3行目から始まり、53行目で終わる。変数iでループさせる。
 ・クロス集計表の列は5列目から始まり、105列目で終わる。変数jでループさせる。
 ・クロス集計表の銘柄は、各行の2列目にある。3列目、4列目はブランク。
 For i=3 to 53
     NAME = Cell(i,2) .Value
     For j=5 To 105
       ANGLE = Cell((3,j) .Value 
       VALUE = Cell(i,j) .Value
       Debug.Print NAME,ANGLE,VALUE 
     Next
   Next
  そして、ブレークポイントを設定、解除して、デバッグしながら、全体を仕上げていく。

 ここで一息のコーナー。
mugi-chan

 津村記久子の「ウェストウィング」。古いビルに通う、OL 、小学生の男子、そして、サラリーマンという3人の物語。大雨の夜、なぜか、ボートを漕ぐ男、靴下を乾かす小学生など珍妙なエピソードが登場する。そこに出た小学生の「高校生活」を描いた、「エブリシング・フロウズ」という、続編もある。こちらもいい。「浮遊霊ブラジル」は思わず、笑ってしまった。なんじゃこりゃと。