逗号和" ands"在excel中 - 条件合并细胞

时间:2017-08-13 01:38:49

标签: excel excel-vba vba

我想将来自多达12个不同单元格的信息合并到一个单元格中,每个单元格的条目之间都有逗号。此外,我希望将倒数第二个和最终条目之间的逗号替换为"和"。在12个输入单元格中,只有一些在任何给定的实例中都有一个值;因此,如果有4个单元有一个输入和8个空白单元格,我希望输出为输入单元1,输入单元2,输入单元3和输入单元4.相反,如果有6个单元有一个输入和6个空单元,我希望输出为输入单元1,输入单元2,输入单元3,输入单元4,输入单元5和输入单元6。

有没有办法做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个vba代码,

Sub concatWithCommas()
Dim i As Long, str As String, j As Long
str = ""
For j = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To 12
    If Cells(j, i) <> "" Then
        str = str & Cells(j, i) & ","
    End If
Next i
str = Left(str, Len(str) - 1)
Cells(j, 13) = Application.WorksheetFunction.Substitute(str, ",", " and ", (Len(str) - Len(Replace(str, ",", ""))))
str = ""
Next j
End Sub

enter image description here