我正在使用下面的连接代码,它工作得非常好。
问题是连接单元格列在与列匹配的不同宏中抛出错误"Type mismatch
(我已经广泛使用了匹配的宏),即使连接列不是匹配的列之一匹配宏。
如果删除连接单元格列,则匹配的宏工作正常。
匹配宏
中此时的错误明显wsPB.Range("A" & j).Resize(1, sLC).Offset(1, 10).Value = Application.Index(arrS, i, 0)
我很确定问题是:
Application.Index(arrS, i, 0)
他们是否有办法让下面的Concatenate代码在遇到时不会产生“类型不匹配”:
Application.Index(arrS, i, 0)
我没有看到ConCat代码将连接的单元格发回到页面的方式有什么奇怪之处 .Value = a
任何帮助或见解都非常适合
谢谢
Sub ConCat()
Dim rng As Range, r As Range, i As Long
Set rng = Range("B2,A2,D2,N2,L2")
If rng Is Nothing Then Exit Sub
With Cells(1).CurrentRegion
ReDim a(1 To .Rows.Count, 1 To 2)
a(1, 1) = .Cells(1, 1).Value
a(1, 2) = "Concat"
For i = 2 To .Rows.Count
a(i, 1) = .Cells(i, 1).Value
For Each r In rng
If .Cells(i, r.Column) <> "" Then
a(i, 2) = a(i, 2) & IIf(a(i, 2) = "", "", "|") & _
.Cells(i, r.Column).Value
End If
Next
Next
With .Offset(, .Columns.Count + 1).Resize(, 2)
.Value = a
End With
End With
End Sub
答案 0 :(得分:0)
事实证明,工作表中的某些单元格超过254个字符限制,这导致Application.Index(arrS, i, 0)
在加工函数中抛出的错误13与ConCat代码无关
修复是在不使用Application.Index(arrS, i, 0)