Vba 更改代码以搜索图纸中的单元格以查找';比如';不确切

Vba 更改代码以搜索图纸中的单元格以查找';比如';不确切,vba,excel,Vba,Excel,所以。我有以下代码: Option Explicit Private Sub CommandButton1_Click() Dim ws As Worksheet, bFound As Boolean, rFound As Range Dim a As Long, aNames As Variant aNames = Array("David", "Andrea", "Caroline") For Each ws In ThisWorkbook.Worksheets 'If ws

所以。我有以下代码:

Option Explicit

Private Sub CommandButton1_Click()

Dim ws As Worksheet, bFound As Boolean, rFound As Range
Dim a As Long, aNames As Variant

aNames = Array("David", "Andrea", "Caroline")

For Each ws In ThisWorkbook.Worksheets
    'If ws.Name <> Worksheets("Report").Name Then
    If ws.Name = "Sheet7" Then
        With ws.Range("A1:E30").Cells
            For a = LBound(aNames) To UBound(aNames)
                Set rFound = .Find(What:=aNames(a), MatchCase:=False, LookAt:=xlWhole, SearchFormat:=False)
                If Not rFound Is Nothing Then
                    bFound = True
                    With Worksheets("Report")
                        .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0) = rFound.Value
                    End With
                End If
            Next a
        End With
    End If
Next ws

If Not bFound Then
    MsgBox "None of the sheets contains the names " & Chr(10) & _
        "'" & Join(aNames, "', '") & "' in cells A1:E30.", vbInformation, "Not Found"
End If

End Sub
选项显式
私有子命令按钮1_单击()
将ws设置为工作表,将B设置为布尔值,将R设置为范围
暗a为长,aNames为变体
aNames=数组(“大卫”、“安德里亚”、“卡罗琳”)
对于此工作簿中的每个ws。工作表
'如果ws.Name工作表(“报告”).Name则
如果ws.Name=“Sheet7”,则
使用ws.Range(“A1:E30”)单元格
对于a=LBound(aNames)到UBound(aNames)
设置rFound=.Find(What:=aNames(a),MatchCase:=False,LookAt:=xlother,SearchFormat:=False)
如果没有找到,那就什么都不是了
bFound=True
带工作表(“报告”)
.Cells(.Rows.Count,1).End(xlUp).Offset(1,0)=rFound.Value
以
如果结束
下一个
以
如果结束
下一个ws
如果没有找到,那么
MsgBox“没有一张表包含名称”&Chr(10)和_
“&Join(aNames,”,“”&“在单元格A1:E30中”,vbInformation,“未找到”
如果结束
端接头
但是当我搜索
“aNames=Array(“David”、“Andrea”、“Caroline”)”
时,我希望它能在表格中的单元格中搜索“like”

以下是我在课程中发现的示例:

my_variable=“示例12345”

如果我的变量像“*12345*”
my_variable=“示例12345”

如果我的_变量像“Example 12####”
my_variable=“示例12345”

如果我的变量像“?示例?1234?”


以上任何一个对“大卫”的“安德里亚”和“卡罗琳”有帮助吗“这样它就可以在单元格中找到它,在它正在搜索精确匹配的那一刻,bc。

因此,您有一个单元格,其中包含一些名称,包括David,在您查找此数组时应该可以找到这些名称。”。或者一个单元格应该包含数组中的所有3个名称吗?如果你想寻找3个名字中的1个,你应该在你的数组中循环搜索一个接一个。就像Luuklag说的,我还要补充一点,你正在寻找通配符搜索。所以像下面这样使用` like运算符会有所帮助。看看这个线程,例如是的,我正在分别搜索它们。pdf-to-excel将所有文本合并到第一列的一个单元格中,但会继续将电子表格中的其余数据填充到不同的行中。嘿,米格尔,非常感谢!这很好。我可以试着回家去理解这一点。或者为了简单。我可以复制其他代码的哪一部分并粘贴到该代码上以使其工作?