vba - Redim 的类型不匹配
问题描述
下面的代码将一系列单元格连接成一个字符串,这归功于我上一篇文章中的 JNevill 。
我在 redim 区域不断收到类型不匹配错误。在减去 1 之前,我还尝试将它包裹在 Ubound 周围,但这仍然给了我一个类型不匹配错误。
Function convertRangetoList(myRange As Range, delimiter As String) As String
Dim rngCell As Range
Dim arrNames() As Variant
Dim i As Long
'redim the array
ReDim arrNames(myRange - 1)
'Load the array
i = 0
For Each rngCell In myRange
arrNames(i) = rngCell.Value
i = i + 1
Next
' Join to comma seperate array
convertRangetoList = Join(arrNames, delimiter)
End Function
解决方案
Redim
期待一个 Number 而不是 Range 对象。用于Range.CountLarge
返回范围内所有区域中所有单元格的总数。
ReDim arrNames(myRange.CountLarge - 1)
推荐阅读
- node.js - 如何使用 Sequelize 中的输出参数在 SQL Server 中执行存储过程?
- vb.net - DataGridView CurrentRow Index 在 vb.net 上没有任何错误
- rest - Magento 2.1 - 无法通过 REST 更新客户自定义属性
- javascript - Webpack config error: An appropriate loader to handle this file type
- c++ - 在 C++ 中分析 vtable
- python-3.x - 使用opencv去除圆弧并完成矩形
- typescript - 打字稿忽略静态变量并正确认为它是类型安全的?
- html - 如何使盒子阴影动画从侧面反弹?我哪里错了?
- python - 如何在 KNN 的 minkowski 度量中设置 p < 1?
- java - 在 docker-compose 中更改 docker 端口对容器化 Java 应用程序没有影响