将变量数组类型转换为字符串或布尔数组

时间:2015-09-30 13:58:34

标签: excel vba excel-vba casting

我在Excel工作表中有几个命名区域,我在会话之间存储VBA宏的数据。加载时我需要将数据放入多个数组(StringBooleans)。

Dim arr() As Variant
Dim rg As Range

Set rg = Sheets("Calc").Range("myRange")
arr = rg.Value2

如何将arr()类型转换为StringBoolean数组,以便在我的宏中使用?

如果我尝试使用Variant数组,我会在函数调用中得到ByRef argument mismatch errors

或者是否有另一种方法可以将范围的内容转换为除Variant以外的其他类型的数组?

搜索没有在后一个问题上产生结果。

1 个答案:

答案 0 :(得分:1)

最简单的方法是将数组声明为字符串或布尔数组,就像这样:

Dim arr() as String
Dim arr() as Boolean

它也适用于功能btw。

如果由于类型不匹配而无法加载整个范围,请将其加载到临时Variant数组中,然后重新调整String或Boolean数组以匹配并循环所有内容并使用转换函数:{{1 }},CBoolCStrCInt,...