2

更新:私はこの問題を解決することができました。VBAの使用*と?を思い出しました。文字列を表示するには'IfSheet.name Like "* CopyA "'


すべてのシートのソースの元の形式で「CopyA」という単語が含まれている特別な値のコピーを作成したいのですが、たとえば「Apple CopyA」、「MangoCopyA」などです。

マクロレコードを使用して、VBAがシートを作成し、以下の同様の例のように特別にコピーする方法を確認できます。

シート名の検索に問題があります-見つけたすべての例では、正確な名前(マクロレコードと同じ)を知っているか、すべてのシートのコピーを作成する必要があります(名前に関係なく、すべてのシートをループしてコピーします) )。

Sub Macro1()
    Sheets("Sheet1").Select
    Sheets("Sheet1").Copy Before:=Sheets(1)
    Sheets("Sheet1(2)").Select
    Cells.Select
    Selection.Copy
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
End Sub

シートの名前を検索するにはどうすればよいですか?この場合、「CopyA」のあるシートはありますか?

4

1 に答える 1

4

別の方法:) も使用できますInstr()。例えば

ワークブック内のすべてのシートに対して、これを使用します

Option Explicit

Sub Macro1()
    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Sheets
        If InStr(1, ws.Name, "CopyA") Then
            '~~ > Your code
        End If
    Next
End Sub

ActiveSheet の場合、これを使用します

Option Explicit

Sub Macro1()
    If InStr(1, ActiveSheet.Name, "CopyA") Then
        '~~ > Your code
    End If
End Sub
于 2012-05-20T08:56:08.607 に答える