Excel VBA格式使用逗号和"以及"在末尾

时间:2014-11-15 03:39:41

标签: vba excel-vba excel

所以我在excel中有几个非连续的行有一个月(即C3 =" 1月",F3 =" 10月"和H3 =" 12月)。我还没有弄清楚如何使用VBA将所有这些字符串移动到一个单元格中并将它们转换为以下字符串

" 1月,10月和12月"

在所有这些之间添加逗号是可行的,但将最终转换为"和"一直是个问题。

单元格b3:m3中填充的月数会根据不同的公式随机填充,范围从1到4个不同的月份,具体取决于另一行的值。

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

从这样的数据开始:

enter image description here

运行此代码:

Sub months()
    Dim wks As Worksheet
    Dim rng As Range

    Set wks = Worksheets("Sheet4")
    Set rng = wks.Range("B3:M3")

    Dim count As Integer
    count = WorksheetFunction.CountA(rng)
    If count < 1 Then Exit Sub

    Dim result As String

    For Each cell In rng
        If Not IsEmpty(cell) Then
            result = result & cell.Value

            Select Case UBound(Split(result, ","))
                Case count - 2
                    result = result & ", and "
                Case count - 1
                Case Else
                    result = result & ", "
            End Select
        End If
    Next cell

    MsgBox result
End Sub

结果:

enter image description here


注意:您仍然可以通过编辑原始帖子并包含您在评论中列出的其他要求来挽救您的问题(防止其被关闭)。此外,还应添加任何屏幕截图等以帮助定义您的所有要求。