EXCEL VBA的Cells.Find(What:="想查找的数据",如何把想查找的数据用变量表示?
excel中用vba找数据
sub 查找()
dim i&
for i=2 to [a65536].end(3).row
if not range("b:b").find(range("a"&i)) is nothing then
range("d"&i)=range("b:b").find(range("a"&i)).address
elseif not range("c:c").find(range("a"&i)) is nothing then
range("d"&i)=range("c:c").find(range("a"&i)).address
else
range("d"&i)="无"
end if
next i
end sub
代码没经过测试,测试有问题再追问。
求Excel VBA中Find及Findnext的用法
Sub Myfind()
Dim iRange As Range, iFined As Range
Dim iStr, iAddress As String, N As Integer
'以上是定义使用到的变量
Set iRange = Range("A2:A100") '给irange变量赋值为A2:A100区域
iStr = Range("A1").Value '给要查找的字符串变量赋值为A1单元格的值
Set iFined = iRange.Find(iStr, lookat:=xlWhole) '在irange区域内查找等于变量istr的单元格,并赋值给你ifined变量,如果要查找包含istr变量的单元格,更改参数lookat:=xlPart
If iFined Is Nothing Then '判断 ifined变量是空
MsgBox "在" & iRange.Address(0, 0) & "区域里,没有找到内容等于" & iStr & "的单元格!"
Exit Sub
Else
iAddress = iFined.Address(0, 0)
Do
N = N + 1
Set iFined = iRange.FindNext(iFined) '继续向下查找等于istr变量的单元格
Loop While Not iFined Is Nothing And iAddress <> iFined.Address(0, 0) 'do循环的条件为ifined变量非空,并且ifined变量的单元格地址不等于找到的第一个单元格地址
End If
MsgBox "在" & iRange.Address(0, 0) & "区域里,共找到内容等于" & iStr & "的单元格有:" & N & "个!"
End Sub
如何将VBA查找到的数据填入指定单元格内?
Sub test()
Dim i, j As Variant
i = InputBox("请输入需要填入的内容")
Set j = Sheets("数据").Range("b:b").Find(i)
If j Is Nothing Then
MsgBox ("没有找到【该应用单位】")
Else
Sheets("报告").Range("P4") = j
End If
End Sub
你试试把
如果你是需要在第二个表中也要寻找对应的行,那就用for遍历的语句改写。很简单
vba find函数中的寻找的对象可否是变量
大哥!
你定义的变量名是 Rng
Find 方法中查找的是 Rnd
介个肿么找得到撒!