首页 > 解决方案 > 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

标签: vbaexcel

解决方案


Redim期待一个 Number 而不是 Range 对象。用于Range.CountLarge返回范围内所有区域中所有单元格的总数。

ReDim arrNames(myRange.CountLarge - 1)


推荐阅读