我正在处理一组看起来像这样的单元格:
我要做的是过滤每个国家/地区的“国家/地区”列,然后将每个制作商添加到一起,以便我可以在其他工作簿中对其进行过滤。
所以基本上,我想Join(m1, m2, m3)
,这就是我想要做的事情:
xRange
是“制造商缩写”的列。我也有If xCell... <> "" Then
,因为xRange
Dim tempMfr As String
Dim temp2Mfr As String
Dim stringArray() As String
Dim arraytostring As String
For Each xCell In xRange
tempMfr = xCell
If xCell.Offset(0, 2) <> "" Then
temp2Mfr = xCell.Offset(0, 2)
stringArray() = Split(temp2Mfr, ", ")
arraytostring = Join(temp2Mfr & stringArray, ", ")
stringArray() = Split(arraytostring, ", ")
For x = LBound(stringArray) To UBound(stringArray)
MsgBox (stringArray(x))
Next
End If
Next
由于Join(temp2Mfr & stringArray)
创建类型不匹配编译错误,我的问题来自&
行。
我也试过了:
ReDim Preserve stringArray(0 to (UBound(stringArray) + 1))
stringArray(UBound(stringArray)) = temp2Mfr
一旦我解决了这个问题,我打算在其他工作簿中使用类似这样的搜索:
Cells.AutoFilter Field:=4, Criteria1:= Array(MfrArray)
非常感谢你的帮助。
答案 0 :(得分:2)
您正在尝试在Join even执行之前将字符串连接到您的数组。
不允许这是导致错误的原因。
您可以这样做:
Redim Preserve stringArray(Ubound(stringArray) + 1)
stringArray(Ubound(stringArray)) = temp2Mfr
你根本不需要加入()。