Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VBA中,如何在没有精确匹配的情况下在另一个工作表中查找字符串_Vba_Excel_Excel Formula - Fatal编程技术网

在VBA中,如何在没有精确匹配的情况下在另一个工作表中查找字符串

在VBA中,如何在没有精确匹配的情况下在另一个工作表中查找字符串,vba,excel,excel-formula,Vba,Excel,Excel Formula,使用变量,我需要从sheet4中选择一个值并存储在变量“str”中,然后在sheet1中搜索。它必须找到甚至不完全匹配的单元格,例如,如果a str=“ABC123”,则激活sheet1中的值为“ABC12345”的单元格 我试着用下面的代码 Sub Find_First() Dim FindString As String Dim Rng As Range Dim ws1 As Worksheet Dim ws2 As Worksheet Dim ws3 As Worksheet Dim ws

使用变量,我需要从sheet4中选择一个值并存储在变量“str”中,然后在sheet1中搜索。它必须找到甚至不完全匹配的单元格,例如,如果a str=“ABC123”,则激活sheet1中的值为“ABC12345”的单元格 我试着用下面的代码

Sub Find_First()
Dim FindString As String
Dim Rng As Range
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim ws4 As Worksheet

Set ws1 = Sheets("Sheet1")
'Set ws1 = ActiveWorkbook.Worksheets(1)
Set ws2 = Sheets("Sheet2")
Set ws3 = Sheets("Sheet3")
Set ws4 = Sheets("Export")

'FindString = InputBox("Enter a Search value")
FindString = ws4.Range("A1").Value
ws1.Activate
If Trim(FindString) <> "" Then
    With Sheets("Sheet1").Range("A:A")
        Set Rng = .Find(What:=FindString, _
        LookIn:=xlValues, LookAt:=xlWhole, _
        MatchCase:=False, _
        SearchFormat:=False)


        If Not Rng Is Nothing Then
            Application.Goto Rng, True
        Else
            'MsgBox "Nothing found"
        End If
    End With
End If
End Sub
Sub Find_First()
作为字符串的暗FindString
变暗Rng As范围
将ws1设置为工作表
将ws2设置为工作表
将ws3设置为工作表
将ws4设置为工作表
设置ws1=图纸(“图纸1”)
'Set ws1=ActiveWorkbook.Worksheets(1)
设置ws2=图纸(“图纸2”)
设置ws3=图纸(“图纸3”)
设置ws4=图纸(“导出”)
'FindString=InputBox(“输入搜索值”)
FindString=ws4.范围(“A1”).值
ws1.激活
如果修剪(FindString)“,则
带活页(“活页1”)。范围(“A:A”)
Set Rng=.Find(What:=FindString_
LookIn:=xlValues,LookAt:=xlother_
MatchCase:=假_
SearchFormat:=False)
如果不是,那么Rng什么都不是
应用程序。转到Rng,对
其他的
'MsgBox“未找到任何内容”
如果结束
以
如果结束
端接头

同时将
LookAt:=xlother
更改为
LookAt:=xlPart
,但这并不能解决您的问题。。您应该将带有工作表(“Sheet1”).Range(“A:A”)的
更改为带有ws1.Range(“A:A”)
,以便更好地阅读/移植。@CLR它正在按预期工作。非常感谢!!