Excel VBA:合并/组合具有相同起始字符的字符串

时间:2017-09-28 11:02:29

标签: excel vba excel-vba

我无法解决任何问题,也没有在网上找到答案,也许你可以帮助我

我想在VBA中合并2个单元格如下:
cell1:foo_123
cell2:foo_456
outputCell:foo_123_456

因此代码应该看到cell1和cell2共有foo_并删除了cell2的foo_部分

输出看起来像这样:
outputCell = cell1 & "_" & cell2
(outputCell = foo_123&" _"& 456)

1 个答案:

答案 0 :(得分:1)

这是一个简单的功能应该可以解决问题(我使用了字符串,而不是单元格,根据您的数据,您可能希望添加一些极端情况,但一般的想法应该是明确的):

Function merge(value1 As String, value2 As String) As String
    Dim result As String

    result = value1

    For counter = 1 To Len(value2)
        If Len(value1) < counter Then ' Edit SLT: changed <= to <'
            result = result & "_" & Mid(value2, counter)
            Exit For:
        Else
            If Not Mid(value1, counter, 1) = Mid(value2, counter, 1) Then
                result = result & "_" & Mid(value2, counter)
                Exit For:
            End If
        End If
    Next

    merge = result
End Function