在单独的工作簿中返回特定值的Cell位置

时间:2012-07-19 15:11:08

标签: excel vba excel-vba

澄清。我有1个电子表格我在创建VBA。当宏运行时,我希望代码在单独的WorkBook表中找到一个特定值,并在另一个WorkBook中返回值的位置。

我最初的想法是使用HLookUp,但是这只会返回值,而不是值的位置。我的下一个想法是使用Find函数,但我无法运行它。我得到的错误是:运行时错误" 438':对象不支持此属性或方法

startValue = enrollBook.Sheets("Pop-FY").Range("D:Z"). _
Applications.WorksheetFunction. _
Find(What:=FYString, LookIn:=xlValues)

enrollBook是另一本工作簿。 startValue应该是其他电子表格中找到的值的位置

2 个答案:

答案 0 :(得分:4)

这是一种调用函数的奇怪方式。格式化你已经到了那里,我首先甚至认为代码无效。

首先,您将Range.FindApplication.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

我对此进行了测试,但您需要更改参数。