我试图通过查看另一个工作簿中的列E来查找值。
该值隐藏在单元格的文本中。
单元格示例:
这是一些文字My Value
这是一些文字
这是我的代码:
Option Explicit
Sub Find()
Dim FoundRange As Range
Dim rng As Range
Dim wb As Workbook
On Error Resume Next
Set wb = Workbooks("Supplier Contacts.xlsx")
If wb Is Nothing Then 'open workbook if not open
Set wb = Workbooks.Open("G:\QUALITY ASSURANCE\06_SUPPLIER INFORMATION\Supplier Contacts.xlsx")
End If
With wb.Worksheets("Listed Supplier")
Set rng = .Columns("E:E")
Do While rng.Value <> Empty
If InStr(rng.Value, ThisWorkbook.Worksheets("Data").Range("B3").Value) = 0 Then
Set rng = rng.Offset(1)
rng.Select
Else
MsgBox "I contain a % symbol!"
End If
Loop
End With
End Sub
似乎没有发生任何事情,并且擅长崩溃。
请有人告诉我我哪里出错了吗?
答案 0 :(得分:0)
您的一个问题是,您的rng
变量指的是整个列,然后您要求代码获取该值。
在With
语句后,请尝试使用此代码;
For Each rng in wb.Range("E:E")
If IsEmpty(rng.value) = False Then
If InStr(String1:=rng.Value, String2:=ThisWorkbook.Worksheets("Data").Range("B3").Value) <> 0 Then
MsgBox "I contain a % symbol!"
End If
End If
Next rng
String1:=
和String2:=
的目的是指定这些是您所指的条件,因为InStr
的第一个条件是Start:=