如何将一行值连接成一个单独的文本字符串?

问题描述 投票:0回答:2

我是Excel中VBA的新手,但我正在尝试将数据行中的所有值连接成一个文本字符串,我很难搞清楚它。我一直在尝试For-Next循环和Do Until循环来捕获每个单元格值到行的底部,然后将它连接(中间有空格)到一个单元格中,我可以复制并粘贴数据。在此先感谢您的帮助!

Sub String_Acct_Numbers()

Dim AccountNumber As String
Dim StartRow As Integer
Dim NumRows As Integer

NumRows = Range("A1", Range("A2").End(xlDown)).Rows.Count

For StartRow = 2 To NumRows

AccountNumber = Cells(StartRow, 1).Value & " " & Cells(StartRow + 1, 
1).Value

Next StartRow

Range("C1") = AccountNumber


End Sub
excel vba concatenation
2个回答
0
投票

之前的答案是100%正确,如果你有它可以使用TEXTJOIN。如果您没有它,那么您可以使用此...

Public Function ConcatenateCells(ByVal rngCells As Range, Optional ByVal strDelimiter As String = " ") As String
    Dim objCell As Range

    For Each objCell In rngCells
        If ConcatenateCells <> "" Then ConcatenateCells = ConcatenateCells & strDelimiter
        ConcatenateCells = ConcatenateCells & objCell.Text
    Next
End Function

...你可以直接从单元格引用该函数,比运行宏更新单元格更容易,是的,已经记录了一堆不同的实现,但是如果你不去搜索,上面会给你你想要什么。


-1
投票

如果您有Office 365或Excel 2019,则可以使用TextJoin函数在没有VBA的情况下完成。

如果您没有这些Excel版本中的任何一个,请使用过去20年中在Web上发布的大量VBA代码之一来连接范围。

© www.soinside.com 2019 - 2024. All rights reserved.