Ms Excel VBAtypes不匹配错误

当我使用下面提到的代码时,我收到types不匹配错误。如果可能的话,请帮助解决下面提到的代码错误。AP#和AR3都具有字符值。

我的基本要求是使用函数,就像连接函数一样使用vba代码在一个excel单元格中的两个单元格中添加两个字符值

Range("AI3:AI" & lrv + 2).Value = Range("AP3:AP" & lrv + 2).Value & " " & Range("AR3:AR" & lrv + 2).Value 

您遇到不匹配错误,因为这是分配值的不正确方法。 例如,这是不正确的

 Range("D1:D3").Value = Range("A1:A3").Value & " " & Range("B1:B3").Value 

你正在使用数组。 所以试试这个

 Range("D1:D3").FormulaArray = _ "=(" & Range("A1:A3").Address & ") & "" "" & (" & Range("B1:B3").Address & ")" 

所以你的代码变成了

 Range("AI3:AI" & lrv + 2).FormulaArray = _ "=(" & _ Range("AP3:AP" & lrv + 2).Address & _ ") & "" "" & (" & _ Range("AR3:AR" & lrv + 2).Address & ")" 

或者以更简化的方式

 Dim rng1 As Range, rng2 As Range, rng3 As Range Set rng1 = Range("AI3:AI" & lrv + 2) Set rng2 = Range("AP3:AP" & lrv + 2) Set rng3 = Range("AR3:AR" & lrv + 2) rng1.FormulaArray = "=(" & _ rng2.Address & _ ") "" "" & (" & _ rng3.Address & _ ")" rng1.Value = rng1.Value rng2.Resize(1,2).ClearContents