Microsoft Office Excelのオブジェクト

Excelのオブジェクト
Object Description
Application Excelアプリケーション自体を表すオブジェクト
FormatConditions ひとつのセル範囲の条件付き書式(FormatCondition)のコレクション
Range セル、行、列、ひとつ以上のセル範囲を含む選択範囲又は3-D範囲を表すオブジェクト
Worksheet ワークシートを表すオブジェクト
Worksheets 指定したブックまたは作業中のブックにあるすべてのWorksheetオブジェクトのコレクション

ブック(ファイル)

ブックを開く

VBAでExcelのブック(ファイル)を開くには、Workbooks.Openメソッドを使用する。

Workbooks.Open "book.xlsx"

ブックを閉じる

VBAでExcelのブックを閉じるには、Workbook.Closeメソッドを使用する。

Workbooks("book.xlsx").Close

ブック名を取得

VBAでExcelのブック名を取得するには、ActiveWorkbook.Name又はThisWorkbook.Nameを参照する。

ActiveWorkbook.Name
ThisWorkbook.Name

ブックを開いたときに自動的にマクロを実行する

ブック(ファイル)を開いたときに、Auto_Openという名前のSubプロシージャが存在すれば自動的に実行される。プロシージャ名は大文字でも小文字でもよい。

Sub Auto_Open()
  ' ブック(ファイル)を開いたときに自動的に実行する処理
End Sub

ワークシート

アクティブなワークシートを取得

アクティブなワークシートのWorksheetオブジェクトを取得するには、Applicationオブジェクト、Windowオブジェクト又はWorksheetオブジェクトのActiveSheetプロパティを参照する。

Dim sheet1 As Worksheet
Set sheet1 = ActiveSheet

ワークシート名一覧の取得

Dim ws As Worksheet
Dim i As Integer

i = 0
For Each ws In Worksheets
  i = i + 1
  Cells(i, 1) = ws.Name
Next

Microsoft Excel ワークシートのセルを操作する

VBAからMicrosoft Excel ワークシートのセルを操作する場合、ワークシートを明示的に指定しなければ、現在アクティブなワークシートのセルが対象となります。

アクティブなワークシートを切り替えるには、次に示すいずれかの方法で行います。

Worksheets.Activateメソッドの構文を次に示します。

Worksheets("シート名").Activate

Worksheets.Activateメソッドを使用してワークシートをアクティブにするVBAソースコードの例を次に示します。

Worksheets("Sheet1").Activate

ワークシートのセルにデータを入力する

セルにデータを入力するには、次に示すいずれかの方法を使用します。

Sheet1 の列3の値が "原油" の行だけを Sheet2 にコピーするVBAの例を次に示します。

Dim i As Integer
Dim o As Integer
Dim j As Integer

Worksheets("Sheet1").Activate

o = 1
' Sheet1の100行が対象
For i = 1 To 100
    If Cells(i, 3).Value = "原油" Then
        ' 10列分コピーする
        For j = 1 To 10
            Worksheets("Sheet2").Cells(o, j).Value = Cells(i, j)
        Next j
        o = o + 1
    End
Next i