Excel VBA,错误 438“object 不支持此 属性 或 WorksheetFunction 上的方法
Excel VBA, error 438 "object doesn't support this property or method on WorksheetFunction
所以我在使用地址函数的 AT_cellnum 行的标题中收到错误。
Sub AllTransURL()
Dim AT_rownum As Integer, pathrange As Range, AT_cellnum As String, sheetname As String
sheetname = "All Transmissions"
Set pathrange = ThisWorkbook.Worksheets("All Transmissions").Range("H1:H53")
AT_rownum = Application.WorksheetFunction.Match("infra/remwip/Public/0_00_Rapports", pathrange, 0)
AT_cellnum = Application.WorksheetFunction.Address(AT_rownum, 1, 1, 1, sheetname)
End Sub
谢谢你
对象模型中不需要 Address
函数,因此它不在 WorksheetFunction
接口上。
根据经验,如果您正在调用 early-bound 成员,而您要调用的成员未出现在自动完成名称列表中,则它不是您要调用的对象的成员工作;如果代码仍然可以编译,它很有可能会在 run-time.
处抛出错误 438
不需要 Address
函数,因为当您使用对象模型时,您有一个 Range
对象,而 Range
有一个 Address
属性 这很容易获得:WorksheetFunction
因为它完全是多余的。
您知道范围来自哪个工作表(sheetname
);您知道您想要哪一行 (AT_rownum
),并且您知道您想要哪一列 (1
) - 因此:
Dim AT_range As Range
Set AT_range = ThisWorkbook.Worksheets(sheetName).Cells(AT_rownum, 1)
AT_cellnum = AT_range.Address
但正如 Scott 暗示的那样,在 VBA 中,您 很少需要 单元格地址:如果您有一个 Range
对象,您可能已经应有尽有
所以我在使用地址函数的 AT_cellnum 行的标题中收到错误。
Sub AllTransURL()
Dim AT_rownum As Integer, pathrange As Range, AT_cellnum As String, sheetname As String
sheetname = "All Transmissions"
Set pathrange = ThisWorkbook.Worksheets("All Transmissions").Range("H1:H53")
AT_rownum = Application.WorksheetFunction.Match("infra/remwip/Public/0_00_Rapports", pathrange, 0)
AT_cellnum = Application.WorksheetFunction.Address(AT_rownum, 1, 1, 1, sheetname)
End Sub
谢谢你
对象模型中不需要 Address
函数,因此它不在 WorksheetFunction
接口上。
根据经验,如果您正在调用 early-bound 成员,而您要调用的成员未出现在自动完成名称列表中,则它不是您要调用的对象的成员工作;如果代码仍然可以编译,它很有可能会在 run-time.
处抛出错误 438不需要 Address
函数,因为当您使用对象模型时,您有一个 Range
对象,而 Range
有一个 Address
属性 这很容易获得:WorksheetFunction
因为它完全是多余的。
您知道范围来自哪个工作表(sheetname
);您知道您想要哪一行 (AT_rownum
),并且您知道您想要哪一列 (1
) - 因此:
Dim AT_range As Range
Set AT_range = ThisWorkbook.Worksheets(sheetName).Cells(AT_rownum, 1)
AT_cellnum = AT_range.Address
但正如 Scott 暗示的那样,在 VBA 中,您 很少需要 单元格地址:如果您有一个 Range
对象,您可能已经应有尽有