如何将列A值连接到列B使用Excel VBA

嗨,我试图将列A的值连接到列B与文本“颜色 – ”,但列A包含多个颜色值。 我希望每个颜色的值应该与列B中的值“颜色 – ”连接。我试过这个公式= CONCATENATE(“颜色 – ”,A2)但它不工作在我的情况。 请参阅图像供你参考,任何人都可以帮助。 在这里输入图像说明

如果您想使用VBA,您可以创build一个可以在工作表中使用的函数。

Public Function addString(ByVal list As String, ByVal prefix As String) As String Dim i As Long Dim splitWords() As String Dim joinedWords As String splitWords = Split(list, ",") For i = LBound(splitWords) To UBound(splitWords) If i < UBound(splitWords) Then joinedWords = joinedWords & prefix & "-" & splitWords(i) & "," Else joinedWords = joinedWords & prefix & "-" & splitWords(i) End If Next i addString = joinedWords End Function 

然后,您可以在工作表中键入=addString() 。 该函数将采用2个参数 – 用逗号分隔的颜色列表,以及您希望为列表中的每种颜色添加前缀的string。

例如: =addString($A$1,A2)

然后可以将该function拖到列上。 有可能使用数组公式来做到这一点的方法; 我个人更喜欢创build自定义函数。