2

更新:我能够解决这个问题。我只记得 VBA 使用 * 和 ? 呈现字符串 'If Sheet.name Like "* CopyA "'


我想用所有工作表的原始格式复制一个特殊值,其中包含单词:“CopyA”,例如“Apple CopyA”、“Mango CopyA”

我可以使用宏记录来查看 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 回答