Excel VBA函数返回值的地址或数组中的文本仅返回#值
以下代码在即时窗口中打印预期的单元格地址,但我无法在excel电子表格中获取该单元格,为此我键入了函数公式以返回除#VALUE!以外的任何内容!。例如,在我的一个测试中,我的即时窗口将正确的结果打印为$F$8,这是我预期匹配的正确单元格引用 我还在电子表格单元格中尝试了不同的格式选项,我使用的是函数/公式,但结果相同。我显然错过了一些非常简单的东西,但我不好意思说我已经厌倦了研究,我希望这个论坛能给出一个非常简单的答案Excel VBA函数返回值的地址或数组中的文本仅返回#值,excel,vba,Excel,Vba,以下代码在即时窗口中打印预期的单元格地址,但我无法在excel电子表格中获取该单元格,为此我键入了函数公式以返回除#VALUE!以外的任何内容!。例如,在我的一个测试中,我的即时窗口将正确的结果打印为$F$8,这是我预期匹配的正确单元格引用 我还在电子表格单元格中尝试了不同的格式选项,我使用的是函数/公式,但结果相同。我显然错过了一些非常简单的东西,但我不好意思说我已经厌倦了研究,我希望这个论坛能给出一个非常简单的答案 Public Function CellRefInRange(ByVal I
Public Function CellRefInRange(ByVal ItemSearched As Variant, ByVal aRange As Range) As String
Dim cell As Range
Dim CellRefInRange2 As String
For Each cell in aRange
If ItemSearched = cell.Value then CellRefInRange2 = cell.Address
Next Cell
Debug.Print CellRefInRange2
CellRefInRange = CellRefInRange2
End Function
你怎么称呼这个?一些示例数据或屏幕截图可能会更好。作为旁注-这真的让人感觉你在重新发明轮子。如果
ItemSearched
是一个单元格错误,那么表达式If ItemSearched=cell.Value
将抛出一个类型不匹配错误,它将转换为#值调用此函数的单元格中的工作表上的代码>错误。为了给你一个明确的答案,我们需要更多地了解你是如何调用它的。另一个潜在的问题是,如果你把多单元格范围作为第一个参数传递给它,这肯定会失败。