エクセルVBA 集計ファイルの作り方③
どうもhiroakiです。
先日、下記の記事を書きました。
コードの中身が分からない人のために、解説していきたいと思います。
オブジェクトについて
オブジェクトとは、セルやワークシートなどのVBAで操作したい対象のことです。
例えば、セルならRange(セル番地)やCells(行,列)で表します。
セルC4(オブジェクト)を表す場合は、Range("C4")、Cells(4,3)となります。
また、Range(セル番地)は、Range("A1:B4")のように範囲を表すことも可能です。
親オブジェクト.子オブジェクトについて
親オブジェクト.子オブジェクトについて説明します。
先ほど、セルC4オブジェクトを示すために、Range("C4")の形を示しましたが、このコードだけを書くと、どのシートのC4か分からない場合があります。
その場合、「シート3のC4セル」のように階層構造で表らわさなければいけません。
コレクションについて
コレクションとは、オブジェクトが複数集まったものをいいます。
実は、先ほど説明したRange()はCells()のコレクションともいえます。
またCellsのみのでもコレクションとなります。
他にも、ワークシート1、2、3…となったものの集合体がWorksheetsです。
参考:https://excel-ubara.com/excelvba1/EXCELVBA358.html
プロパティ、メソッドについて
プロパティは状態のこと。例えばフォントや文字サイズ、色、罫線などです。
たとえばセルの値のプロパティはValueです。
- Range("C4").Value
このコードで、セルC4の値を取得できます。
- Range("C4").Value = "文字を代入します"
このように、オブジェクトのプロパティにイコールを書いて、文字を入れることもできます。これを代入と呼びます。代入は左側にいれると覚えておきましょう。
メソッドはオブジェクトの動作を表します。コピーや貼り付けといった作業を行います。
- Range("C4").Copy
以上、オブジェクト.プロパティ、オブジェクト.メソッドの基本的な形を覚えておいてください。
内容へ
では、中身に入っていきます。
- Worksheets("出力").Cells.Clear
- Worksheets("出力").Range("A1") = "ファイル名"
- Worksheets("出力").Range("B1") = "貼付け内容"
- Worksheets("作業").Activate
- name_worksheet = Worksheets("作業").Range("C1")
- hanni = Worksheets("作業").Range("D1")
1行目はワークシートコレクションのうち、出力シートのセルコレクションを消す(Clearメソッド)ということをやっています。Clearメソッドでは書式を含めて全て消すことができます。
2行目は出力シートのA1セルにファイル名という文字を入れています。3行目も同様です。
4行目は作業シートをアクティブにする(Activateメソッド)ということをやっています。いま作業シートを開いた状態になっています。
5行目では、name_worksheet変数に作業シートのC1セルに入っている内容を代入します。いまは「2班」と入っています。
6行目では、hanniに作業シートのD1セルに入っている内容を代入します。いまは「C16:H25」と入っています。
今回はここまで~
今回はここまでとします。
基礎的なことなので、さっと進めましたが、もっと詳しく知りたい場合は、コメントなどくだされば解説したいと思います。
次回からも続きを解説していきます。
では。