繁体   English   中英

将混合类型范围存储到数组

[英]Storing Mixed-Type Range to Array

使用以下逻辑将值范围存储到数组时

 dim arr as variant
 arr = range("A1:B20").value

数字格式为文本且以“ US $ 22,000,000.00”或“£32,000,000.00”或“ C $ 21,000,000.00”之类的格式显示在单元格中的值将以不同于显示值的数字形式存储到数组中。 (例如,对于第一个“ US $ 22,000,000.00”值,存储在数组元素中的值最终类似于“ 879732937329”)

我尝试使用以下内容来代替从单元格获取显示的文本,但是当尝试将数组中的值分配给另一个变量时,它给了我一个类型不匹配的错误(我假设当我结束时arr最终为空采用:

dim arr as Variant
arr = range("A1:B20").text

有什么方法可以用范围的文本值填充数组,而无需循环并分别读取每个单元格到数组元素吗?

您的错误似乎无法重现。 以下代码按您的意愿进行操作:

Sub test()
Dim arr As Variant

arr = Range("A1:A6").Value

For Each entry In arr
    Debug.Print entry & vbTab & TypeName(entry)
Next entry


End Sub

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM