Excel2010でシートを追加するマクロを作ってみる

Excelを久しぶりにガッツリ使う事になりそうなのですが、
与えられたリスト一つ一つにシートを作る事になり、かったるいのでマクロを作ってみることにしました。
 
開発環境を整えるところから取り組む必要がありますが、
ググったら↓の『マクロと Visual Basic Editor』をやる感じのようです。
http://msdn.microsoft.com/ja-jp/library/ee814737.aspx

[ファイル] タブの [オプション] を選択して [Excel のオプション] ダイアログ ボックスを表示します。
ダイアログ ボックスの左側にある [リボンのユーザー設定] をクリックします。
ダイアログ ボックスの左側にある [コマンドの選択] で、[基本的なコマンド] を選択します。
ダイアログ ボックスの右側にある [リボンのユーザー設定] で、[メイン タブ] を選択し、次に [開発] チェック ボックスをオンにします。
[OK] をクリックします。

上記に従い↓のように設定して開発タブを表示させて

 
タブをクリックすると↓のようになります。

 
マクロボタンを押して

 
ダイアログボックスで作成を押すと、

 
エディタが開きます。

 
メソッドの中に『MsgBox (“Hello, world!”)』って記載してやって実行すると、
Hallo Worldすることが出来ました。

 
尚、保存する時はこんな感じでマクロ有効ブックにして選択して保存する必要がありました。

 
で、いよいよシートを追加するわけですが、↓を読んでみると、
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_sheet.html
↓で、アクティブなブックのワークシートの末尾(ワークシートをカウントした最後の後ろ)に指定した名前でシートを作れる、と。
『ActiveWorkbook.Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = “印刷用”』
 
さっそく↓のようにやってみると、

 
あー、まぁ、コレでいいんじゃね?って感じですが、、

 
シンタックス覚える意味でも、リストオブジェクト作ってループさせてみっかなっていう。
 
Stringの配列を宣言して実行してみると、
 
 
バリアント型。。なんぞやソレw

 
なんか何でもあり型みたいな感じっぽくてググってたらカンマでSplitしてーとかってのが出てきたので
その通りやったら普通に動きました。なるほど。。

 
んでもって、最後に、デフォルトのシートを警告抜きで削除して、1シート目を”目次”って名前にして、、
的なのを加えて、

 
実行すると、

 
狙ったようになりました。

 
めでたしめでたし。
 

コメント

タイトルとURLをコピーしました