Closeメソッド解説(Excel VBA)

Excel VBA の Close メソッドについて

Microsoft Excel VBA (Visual Basic for Applications) は Excel のパワフルな機能で、Excel の操作を自動化したり、複雑な処理を実行したりするために使用されます。この記事では、その中でも特に重要なメソッドの1つである Close メソッドについて解説します。

Close メソッドとは?

Close メソッドは、Workbook オブジェクトや Worksheet オブジェクトなどを閉じるために使用されます。基本的な使用法は以下のとおりです。

Workbook.Close

このメソッドを使用すると、指定した Workbookを閉じることができます。

Close メソッドの使用例

Workbook を閉じる

Sub CloseWorkbookExample()
    ' Workbookを開く
    Workbooks.Open "C:\path\to\your\workbook.xlsx"
    ' 開いたWorkbookを閉じる
    Workbooks("your_workbook.xlsx").Close
End Sub

上記のコードでは、まず指定したパスの Workbook を開き、次にその Workbook を閉じています。

変更を保存せずに Workbook を閉じる

Sub CloseWorkbookWithoutSavingExample()
    ' Workbookを開く
    Workbooks.Open "C:\path\to\your\workbook.xlsx"
    ' 変更を保存せずにWorkbookを閉じる
    Workbooks("your_workbook.xlsx").Close SaveChanges:=False
End Sub

上記のコードでは、SaveChanges 引数に False を指定することで、Workbook を閉じる際に変更を保存せずに Workbook を閉じています。これは、作業の途中で一時的に他の Workbook を開いたり、処理の途中結果を確認したりする際に便利です。

まとめ

Close メソッドは、Workbook の操作を自動化する際に非常に重要なメソッドです。ただし、Worksheet を閉じる際には、Worksheet.Close メソッドを使用せず、代わりに Workbook を閉じるか、その Worksheet を別の Workbook に移動する必要があります。

また、Workbook を閉じる際には、変更を保存するかどうかを指定する SaveChanges 引数を使用することができます。これにより、一時的に他の Workbook を開いて作業を行う場合などに、作業内容を保存せずに Workbook を閉じることができます。