【VBA】非表示シートを部分一致で別ブックとして保存する方法
手作業で大量のデータを移動するのは労力がかかるだけでなく、ミスも起こりやすいです。この記事では、部分一致する非表示シートを自動的に別のExcelファイルに保存するVBAマクロを作成します。
サンプルコード
VBA
Option Explicit
Sub SavePartialMatchHiddenSheets()
Dim wb As Workbook, ws As Worksheet, newWb As Workbook
Dim sheetNamePart As String, lastRow As Long, i As Long
' 部分一致する文字列を指定
sheetNamePart = "部分一致"
Set wb = ThisWorkbook
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In wb.Sheets
If ws.Visible = xlSheetHidden Then
' 部分一致するシート名を検索
If InStr(ws.Name, sheetNamePart) > 0 Then
' 新規ブックを作成し、非表示シートをコピー
Set newWb = Workbooks.Add
ws.Copy Before:=newWb.Sheets(1)
' 新しいブックを保存または名前を付けて保存する処理を追加
' 例: newWb.SaveAs "C:\path\to\save\" & ws.Name & ".xlsx"
End If
End If
Next ws
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。