Option explicit
Sub CopySumSheetsOver()
Const SUBSTRING as string = "Sum" 'Change this to whatever string you want to search for.'
With thisworkbook
Dim ws as Worksheet
Dim SheetNames() as string
Redim SheetNames(1 to .worksheets.count)
Dim SheetIndex as long
For each ws in .worksheets
SheetIndex = SheetIndex + 1
SheetNames(SheetIndex) = ws.name
Next ws
Redim preserve sheetnames(1 to sheetindex)
SheetNames = filter(sheetnames,SUBSTRING,True,vbTextCompare) 'vbBinaryCompare is faster, but case-sensitive, use whichever one you need.'
Dim DestinationWorkbook as workbook
Set DestinationWorkbook = application.workbooks.add
.worksheets(SheetNames).copy destinationworkbook.worksheets(destinationworkbook.worksheets.count)
End with
End sub
を表示するマクロ
Sub HideSheets()
Dim sht As Worksheet
For Each sht In Worksheets
If (InStr(sht.Name, "Sum")) Then
sht.Visible = xlSheetHidden
End If
Next
End Sub
を含むシートを非表示にするマクロ。申し訳ありませんがフォーマットが正しくありません。
まだマクロを記録しようとしましたか?それはいくつかのコードを取得し始めるのに適しています。 – braX
これは始めるには良い場所だと思います。参考にしたところでは、「sum」や「summary」という文字列が名前の一部として含まれているシートのみを識別しようとしています –