VBA Excel:连接一系列单元格

我试图连接一行单元格的范围。 这组单元格有一个定义的开始,但是一个可变的结束。 我试过这样做,但没有奏效。 我仍然在学习VBA的语法,但我还没有看到任何说这不会工作。 任何帮助表示赞赏。

Dim hexVal As String For i = 4 To N + 3 Cells(3, i) = Application.WorksheetFunction.Dec2Hex(Cells(2, i), 2) & " " Next i hexVal = CONCATENATE(Range(Cells(3,i),Cells(3,N+3)) End Sub 

你不需要Concatenate(),而是使用来代替:

 for i = 4 to N + 3 hexVal = hexVal & cells(3,i) next i 

这是万一你只是连接string,你知道范围需要连接。

这是你的问题:

 CONCATENATE(Range(Cells(3,i),Cells(3,N+3)) 

Cells方法返回一个范围对象,其默认属性是.Value属性。 所以,这相当于:

 CONCATENATE(Range(Cells(3,i).Value,Cells(3,N+3).Value) 

因此,除非这些单元格包含有效的地址string,否则它将总是失败

解决方法…只需使用内置的连接器

 hexVal = Range(Cells(3,i) & Cells(3,N+3)) 

要么:

 hexVal = CONCATENATE(Range(Cells(3,i).Value,Cells(3,N+3).Value))