如何使用Excel VBA将单元格值和文本连接在一起?

xxx*_*xxx 7 excel vba excel-vba excel-2013

我有一个重复的任务我想自动化而不是一直使用= Concatenate函数.到目前为止,这是我的代码:

Cells(2, 5).Value = Cells(2, 1).Value&" - "&Cells(2, 2).Value
Run Code Online (Sandbox Code Playgroud)

不幸的是,这导致"编译错误:预期:语句结束"错误,突出显示" - ".我怎样才能将这两个值之间的文字" - "夹在中间?

pau*_*ica 7

Cells(2, 5).Value = Cells(2, 1).Value & " - " & Cells(2, 2).Value


leg*_*djr 5

@Joshua 为您的情况提供了答案。另一种更广泛的解决方案是我以前使用过的解决方案。请参阅此处复制的 UDF。

Option Explicit
Function ConcatenateRow(rowRange As Range, joinString As String) As String
    Dim x As Variant, temp As String

    temp = ""
    For Each x In rowRange
        temp = temp & x & joinString
    Next

    ConcatenateRow = Left(temp, Len(temp) - Len(joinString))
End Function
Run Code Online (Sandbox Code Playgroud)

然后在您的 excel 文件中,只需使用此公式,选择要连接的单元格范围,并为其提供一个字符串(在本例中为“ - ”)以将其放在它们之间。