【发布时间】:2021-05-21 18:12:57
【问题描述】:
我正在尝试使用变量调用公共子,但似乎找不到正确的方法。如果我要在 VBA 中做,那么它很简单,并且会是:
Application.Run([fnd], [FormulaCell])
这将如何转化为 VB.NET?
我在其他地方阅读过有关使用 CallByName 的信息,但我似乎无法将其正确应用到我的代码中。这是我尝试过的:
Dim MF As New MyProject.Modify_Formula
CallByName(MF, fnd(FormulaCell), CallType.Method)
当我尝试此方法时,我收到一条错误消息:“范围”类型的值无法转换为“整数”。此错误消息指的是 (FormulaCell)。
有人可以帮忙吗?
谢谢
【问题讨论】:
-
你为什么要这样做?可能有正当的理由,但人们通常认为他们需要做这样的事情,而实际上他们不需要。
-
您是否阅读了
CallByName方法的文档?第二个参数应该是一个String,其中包含要调用的方法的名称。fnd(FormulaCell)是否返回包含方法名称的String? -
fnd 是一个字符串。 FormulaCell 部分是传递给正在调用的 Sub 的范围。但是,这是我得到错误的地方,因为它说范围“FormulaCell”不能转换为整数。
标签: vb.net