如果符合条件则搜索表名,然后复制格式的粘贴值?

问题描述 投票:2回答:1

更新:我能够解决此问题。我只记得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”的工作表吗?

excel-vba vba excel
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
© www.soinside.com 2019 - 2024. All rights reserved.