如何在单元格中的最后一个字符之前插入分号

时间:2019-01-10 16:00:02

标签: excel vba

我正在尝试在列(A:A)中的最后一个字符之前添加分号。

我想更改特定单元格中的值,例如GLA-12342至GLA-1234; 2

仅应在包含以下文本的单元格上执行此操作: GLA,GLX,GLV,GLY,GLC

那里有一些不错的VBA专家可以帮助我解决这个问题

我得到的是这个...

Sub Semikolon()

Dim SrchRng As Range, cel As Range

Set SrchRng = Range("A:A")

For Each cel In SrchRng
    If InStr(1, cel.Value, "GLA") > 0 Then

         '   Can not figure out how to solve this...


    End If
Next cel

End Sub

1 个答案:

答案 0 :(得分:3)

您几乎明白了。只需使用Left$Right$函数将字符串拆分到正确的位置即可。

我还建议仅将SrchRng限制在使用的单元格上,以加快速度。

Option Explicit

Sub Semikolon()
    Dim SrchRng As Range
    Set SrchRng = Range("A1", Cells(Rows.Count, "A").End(xlUp))

    Dim Cel As Range
    For Each Cel In SrchRng
        If InStr(1, Cel.Value, "GLA") > 0 Or _
           InStr(1, Cel.Value, "GLX") > 0 Then 'add more or statements here

            Cel.Value = Left$(Cel.Value, Len(Cel.Value) - 1) & ";" & Right$(Cel.Value, 1)              
        End If
    Next Cel
End Sub