我正在为我的工作设备数据库工作,并且我试图在列的每个单元格中搜索变量字符串,并且一旦找到该字符串,我需要将另一个变量分配给在搜索列I旁边的列中的单元格的值。 我可以执行循环和迭代以及if语句,但是我很难找到一个允许我在特定单元格中搜索字符串的函数。
有没有办法指定单元格的搜索,有点像Cells(x,y).find()等。还是不存在?另外,我发现了很多关于InStr()函数的文档,但是它只计算字符串出现在列中的次数,对吗?有没有办法返回行,找到字符串的单元格数?感谢您提供的任何帮助。
Sub Trans()
Dim A As Range, r As Range, s As String
Set A = Range("A2:A11")
s = "T1"
For Each r In A
If InStr(1, r.Value, s) > 0 Then
i = r.Row
Cells(i, C) = "here"
End If
Next r
End Sub
答案 0 :(得分:1)
您可能正在使用 InStr()。这是一个搜索列的小例子:
Sub SeekingHappiness()
Dim A As Range, r As Range, s As String
s = "happiness"
Set A = Range("A1:A10")
For Each r In A
If InStr(1, r.Value, s) > 0 Then
MsgBox r.Address & vbCrLf & r.Value
End If
Next r
End Sub
还有一个 .Find()方法可以最大限度地减少循环。