Excel VBA常数作为参数

newITgirl

预先抱歉,我是一名自学成才的VBA程序员,而且不确定如何表达我的问题!我已经声明了具有相似名称的常量,即

Public Const BP1Enable = "something1something:someotherthing1someotherthing"
public const BP2Enable = "something2something:someotherthing2someotherthing"

等等。

我有10个这些常数。我有一个用这些常量作为参数的子:

Sub FieldEnable (ByVal enableconst)

现在,我想使用i作为计数器在一个循环中调用FieldEnable子:

For i = 1 To 10

 BPfieldname = "BP" & i & "Enable"
 FieldEnable enableconst:=BPfieldname
Next i

这不起作用,正在发生的是分配给子FieldEnable中的enableconst的“值”是“ BP1Enable”,而不是常量BP1Enable的值“ something1something:someotherthing1someotherthing”。

调用子FieldEnable时如何使用变量BPfieldname?

我希望这是有道理的。任何帮助表示赞赏。

PA。

将变量转换为单个数组。

看到这个http://msdn.microsoft.com/en-us/library/wak0wfyt.aspx

编辑:正如@sina正确指出的那样,VBA不允许常量数组,

所以不要尝试这个

Dim BPEnable = {
  "something1something:someotherthing1someotherthing",
  "something2something:someotherthing2someotherthing",
  ....
}

你应该试试这个

Dim BPEnable
BPEnable = Array( _
  "something1something:someotherthing1someotherthing", _
 "something2something:someotherthing2someotherthing", _
 "..."
)


For i = 0 To UBound(BPEnable)
 BPfieldname = BPEnable(i)
Next i

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

高亮显示Excel Excel VBA

ByRef参数类型不匹配-Excel VBA

Excel VBA:将计算结果数组作为参数传递给函数

Excel VBA ByRef参数类型不匹配

指示Access或Excel的常数

Excel VBA-通过列表作为函数参数

Excel VBA将参数传递给OLEDBConnection

Excel VBA Web抓取-getElementsbyTagName.Item号不是常数

ByRef参数类型不匹配Excel VBA

调用带有对象作为参数的子例程时的运行时错误Excel VBA

Excel / VBA代码忽略输入的参数

Excel VBA MySql参数化更新“无效参数类型”

Excel VBA使用运算符<,>,> =,<=,并以双精度作为函数参数

将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

使用参数调用Excel VBA子例程

VBA Excel:删除Excel行

Excel UDF接受范围和数组作为参数,例如“ SUM”

如何在Excel VBA函数中将日期作为参数传递

VBA使用字符串数组作为子字符串参数InStr函数(Excel)

Excel / VBA:使用公式查找范围内的常数

Excel:从工作表中调用vba函数时,将当前单元格作为参数传递

“参数不是可选的” VBA Excel SUB

在Excel中将非连续范围作为单个函数参数传递

excel vba 通过参数将数据作为参数发送到 vbscript

以动态表列为参数的 Excel vba 函数

Excel VBA - 在 VBA 函数中使用命名范围作为参数

如何在 Excel VBA 中使用动态变量作为参数定义 Dim?

在 Excel/VBA 中设置默认图表参数

如何将 excel/csv 文件作为函数参数传递?