このページで学習出来る事
VBAトレーニング最初となる今回は、Excelシートの使い方について説明をしていきたいと思います。
ただ単純にシートを切り替えたり、削除したりするコードを覚えるのではなくブックやシートオブジェクトを見ながら、実際にシートを操ってみたいと思います。
準備
まず最初に下記図のように、Excel上にシートを3個ほど作成しまして、ブックとシートのオブジェクトを設定できるようにコードを書いていきます。(ブレークポイントの設定方法は、コード左にある灰色の所をクリックすれば設定できます。)
サンプルコード
Sub main()
Dim objWorkbook As Workbook
Dim objWorksheet As Worksheet
Set objWorkbook = Application.ActiveWorkbook
Set objWorksheet = objWorkbook.Worksheets(1)
Debug.Print "wait"
End Sub
コードの解説
‘エクセルブックが入る変数を用意しています。
Dim objWorkbook As Workbook
‘エクセルシートが入る変数を用意しています。
Dim objWorksheet As Worksheet
‘アクティブなブック(今触っているブック)を作成した変数に設定しています。
Set objWorkbook = Application.ActiveWorkbook
‘エクセルブックにある一番目のシートを変数に設定しています。
Set objWorksheet = objWorkbook.Worksheets(1)
‘ブレークポイント用の記述です。
Debug.Print “wait”
シートオブジェクトの見方
準備ができたら実行してみましょう。
実行すると、この様にブレークポイントで一旦止まり、設定した変数にブックとシートのオブジェクトが入っているのが分かります。
ローカルウィンドウの[+]を選択して、エクセルブックやシートオブジェクトの中身を見ていきましょう
続けて[objWorksheet]の[+]を選択し、シートオブジェクトの中身も見ていきましょう。設定した”Sheet1″の情報を見ることが出来ます。
コードの中で[Set objWorksheet = objWorkbook.Worksheets(1)]として書いていたのは、このインデックス番号のシートを変数に入れるという行為をしていた事になります。
ですので、この(1)の部分を(2)や(“Sheet3”)という風に変えてあげれば、それぞれのシート情報を読むことか出来ます。
この様に、情報を確認するだけではなく[objWorksheet.Name = “hoge”]と記載することで、シートの名前を変えることが出来ますし、その中にあるセルの情報も読み取ったり書き換えたりすることが可能になります。
最後に
エクセルブックやシートオブジェクトの中身を見ることで、何気なくサンプルコードをコピーして実施していた、シートの名前変更やシート数のカウントなどの仕組みも分かってきたと思います。
次回は実際にシートを切り替えながらセルに値を代入するなど、少し実践的なものを説明していきたいと思います。
このページで学習出来る事 VBAトレーニング2回目となる今回は、前回に引き続きExcelブックとシートの使い方について説明をしていきたいと思います。 ただ単純にシートを切り替えたり、削除したりするコードを覚えるのではなくブック[…]