将范围转换为逗号分隔的字符串

Bac*_*ave 11 excel vba excel-vba

如果我有这样的列:

Col1
abc
def
ghi
jkl
Run Code Online (Sandbox Code Playgroud)

如何将其转换为这样的字符串?:

"abc,def,ghi,jkl"
Run Code Online (Sandbox Code Playgroud)

小智 16

您可以使用该Join()函数将1维数组的所有元素与分隔符连接起来.

Transpose()下面使用该函数来形成维数组(此方法适用于单个列或行).

Sub Main()
    Dim arr
    arr = Join(Application.Transpose(Range("A2:A5").Value), ",")
    MsgBox arr
End Sub
Run Code Online (Sandbox Code Playgroud)

或作为UDF

Public Function Merge(r As Range) As String
    Merge = Join(Application.Transpose(r.Value), ",")
End Function
Run Code Online (Sandbox Code Playgroud)