2

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

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

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

登记簿是另一个工作簿。startValue 应该是在另一个电子表格中找到的值的位置

4

2 回答 2

4

这是一种奇怪的调用函数和格式化的方式,我首先什至认为代码是无效的。

首先,您Range.FindApplication.WorksheetFunction.Find. 您需要Range一个,但正在呼叫另一个。
其次,错误是因为它是Application,不是Applications
第三,你需要一个Set

Set startValue = enrollBook.Sheets("Pop-FY").Range("D:Z").Find(What:=FYString, LookIn:=xlValues)
于 2012-07-19T15:16:36.777 回答
1

你的意思是这样的?

Dim sTest           As String
Dim oRange          As Range

Set oRange = Worksheets(1).Range("A1:Z10000").Find("Test", lookat:=xlPart)
MsgBox oRange.Address

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

于 2012-07-19T15:20:50.877 回答