我试图沿着一行连接一系列单元格。这组单元格具有已定义的开始但具有可变结束。我试过这样做,但它没有用。我还在学习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
答案 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))