ExcelのVBA

ここ3日ほど,ExcelVBAを勉強している。最初はWorkBookの開き方からして知らなかったのだが,インターネットで検索していろいろなページを参考にプログラムを書き始めた。VBAのヘルプはインストールされておらず,OfficeのCDが手元にないので,インターネットとあとはマクロの自動記録だけが頼りである。
以前日記に書いたこともある(id:kooi:20051006),植物リストを作成するプログラムにいきなり挑戦して,3日かけてようやく300行ほどのコードを書いてみた。プログラムの載ったファイルとは別のデータファイルを開き,新規ブックに結果表を作る。ピボット集計とマスターファイルの照らし合わせと並べ替えまではできた。あとは結果表の整形とか,マスターファイルに登録されていない種名の処理とかを加えていけば使えるプログラムになるのではないかと思っている。
たぶん1週間ぐらい集中して勉強すれば,VBAも少しはできると言えるぐらいにはなるのではないかな。
ちなみに,今日何度もエラーになって困ったのは,プログラムの載っているブックと違うブックのワークシート上で作業をしている時に,Range(“A1”)とかCells(1, 1)とかをワークシートを明示せずに使ってしまったために起きた。明示しないとプログラムの載っているワークシートが選択されるためWorksheet.Range(Worksheet.Cells(1, 1), Worksheet.Cells(i, j))のように省略せずに書かないといけない。