1. 首页 > 科技

EXCEL VBA的Cells.Find(What:="想查找的数据",如何把想查找的数据用变量表示?

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

介个肿么找得到撒!