ExcelVBA特定のブック閉じる

いくつもExcelのブックを開いているときに特定のブックを閉じたいことがあります。

ブックの名前がはっきりしている時、拡張子がわからない時、ブック名があいまいな時、アクティブブック以外の時など、VBAブックの名前で判断して閉じる色々な方法を記録します。

< スポンサーリンク >





VBAで特定のブックを閉じるサンプル

「a.xlsm」「abc.xlsx」「def.xlsx」「ghi.xlsx」の4つのブックが開いているとします。

 

「abc.xlsx」のブックを閉じます。

Sub test1()
    Dim wb As Workbook
    For Each wb In Workbooks
      If wb.Name = “abc.xlsx” Then
        wb.Close
      End If
    Next
End Sub

 

拡張子が「xlsx」か「xls」かわからない時の「abc」のブックを閉じます。

Sub test2()
    Dim wb As Workbook
    For Each wb In Workbooks
      If wb.Name Like “abc.*” Then
        wb.Close
      End If
    Next
End Sub

 

ブックの名前が「a」で始まるブックを閉じます。

Sub test3()
    Dim wb As Workbook
    For Each wb In Workbooks
      If wb.Name Like “a*” Then
        wb.Close
      End If
    Next
End Sub

 

ブックの名前の途中に「a」があるブックを閉じます。

Sub test4()
    Dim wb As Workbook
    For Each wb In Workbooks
      If wb.Name Like “*a*” Then
        wb.Close
      End If
    Next
End Sub

 

アクティブブック以外のブックを閉じます。

Sub test5()
    Dim wb As Workbook
    For Each wb In Workbooks
      If wb.Name <> ActiveWorkbook.Name Then
        wb.Close
      End If
    Next
End Sub

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします