arrays - VBA 将 1 列数组更改为一维数组
问题描述
我正在从表中加载一个数组。
aryNonE = ActiveSheet.Range("AA1:AA" & lRowNonE - 1)
test = Array("Bob Smith", "John Davies"...)
想要使用过滤器但在 aryNonE 上得到类型不匹配。测试工作正常
[调试显示1
如何让 aryNonE 看起来像测试?
谢谢
解决方案
请尝试这种方式:
Sub test2DTo1DArray()
Dim aryNonE, lRowNonE As Long
lRowNonE = 10
aryNonE = ActiveSheet.Range("AA1:AA" & lRowNonE - 1) '2D array
aryNonE = Application.Transpose(Application.Index(aryNonE, 0, 1)) '1D array
'You can test it in this way:
Debug.Print Join(aryNonE, ",")
End Sub
通过这种方式,它可以用于使用类似Criteria1
...的数组进行过滤
但是,如果 2D 数组中的值是numbers,由于 Criteria 数组必须只保留 strings,因此提取数组的范围必须初步格式化为文本。
推荐阅读
- c++ - C++ 电话号码验证
- python - 这可以被视为工厂方法模式(或等效模式)吗?
- influxdb - Influxdb 中的聚合通量查询
- aws-lambda - 如何为 apollo-server-lambda 启用 cors
- json - 根据类型解组时为空字段
- postman - 如何让邮递员测试失败 - 我的总是通过?
- python - Pybind11嵌入式模块导入时不运行
- java - 用 ifPresent 和 orElse 替换 isPresent
- python - 在 Python 的 csv.reader 中删除神秘的双标签
- javascript - 用纯 Jest 库(无酶)测试反应形式不起作用