澄清。我有1个电子表格我在创建VBA。当宏运行时,我希望代码在单独的WorkBook表中找到一个特定值,并在另一个WorkBook中返回值的位置。
我最初的想法是使用HLookUp,但是这只会返回值,而不是值的位置。我的下一个想法是使用Find函数,但我无法运行它。我得到的错误是:运行时错误" 438':对象不支持此属性或方法
startValue = enrollBook.Sheets("Pop-FY").Range("D:Z"). _
Applications.WorksheetFunction. _
Find(What:=FYString, LookIn:=xlValues)
enrollBook是另一本工作簿。 startValue应该是其他电子表格中找到的值的位置
答案 0 :(得分:4)
这是一种调用函数的奇怪方式。格式化你已经到了那里,我首先甚至认为代码无效。
首先,您将Range.Find
与Application.WorksheetFunction.Find
混为一谈。您需要Range
一个,但是正在呼叫另一个
其次,错误是因为它是Application
,而不是Applications
第三,您需要Set
:
Set startValue = enrollBook.Sheets("Pop-FY").Range("D:Z").Find(What:=FYString, LookIn:=xlValues)
答案 1 :(得分:1)
你的意思是这样的?
Dim sTest As String
Dim oRange As Range
Set oRange = Worksheets(1).Range("A1:Z10000").Find("Test", lookat:=xlPart)
MsgBox oRange.Address
我对此进行了测试,但您需要更改参数。