在系列中的每个单元格值之间附加string
比方说,我有一系列像这样的单元格:
A 1 Foo 2 Bar 3 Hello 4 World 5 Random Text
我想要做的是我的公式的结果填充另一个单元格:
Foo, Bar, Hello, World, Random Text
现在,我知道如何连接两个单元格:
=A1&", "&A2
但是我怎样才能对整个系列做同样的事情呢?
以下是您可以使用的function。 简单地把它放在你的工作簿代码模块中,然后你可以像下面这样在单元格中input它:
=JoinRange(A1:A6)
或=JoinRange(A2:D15)
等
Public Function JoinRange(ByVal rng As Range) As String Dim dlmt As String: dlmt = "," Dim multiRow As Boolean: multiRow = rng.Rows.Count > 1 Dim r As Long, c As Long Select Case rng.Columns.Count Case 1 If multiRow Then JoinRange = Join(Application.WorksheetFunction.Transpose(rng), dlmt) Else: 'a single cell JoinRange = rng End If Case Is > 1 If multiRow Then 'a 2d range of cells: For r = 1 To rng.Rows.Count For c = 1 To rng.Columns.Count JoinRange = JoinRange & rng(r, c) & dlmt Next Next JoinRange = Left(JoinRange, Len(JoinRange) - 1) Else: JoinRange = Join(Application.WorksheetFunction.Transpose( _ Application.WorksheetFunction.Transpose(rng)), dlmt) End If Case Else End Select End Function
在单元格B1中input逗号和空格,然后使用以下公式:
=CONCATENATE(A1,B1,A2,B1,A3,B1,A4, B1, A5)
对于以下问题,您可以尝试以下几个答案,其中包括VBA选项和公式:
需要连接不同数量的单元格…
在B1中有=A1
,那么=B1&", "&A2
B2中的=B1&", "&A2
复制下来似乎工作。