VBA Excel:连接一系列单元格

时间:2014-08-14 19:36:02

标签: excel vba excel-vba

我试图沿着一行连接一系列单元格。这组单元格具有已定义的开始但具有可变结束。我试过这样做,但它没有用。我还在学习VBA的语法,但我还没有看到任何说WON&T的工作。任何帮助表示赞赏。

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

2 个答案:

答案 0 :(得分:5)

您不需要Concatenate(),而是使用&

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

这是为了你只是连接字符串,你知道范围需要连接。

答案 1 :(得分:3)

问题是你的问题:

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

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

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

因此,它将始终失败,除非这些单元格包含有效的地址字符串。

解决方案...... 只需使用内置的连接器

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

或者:

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