Как вставить точку с запятой перед последним символом в ячейке - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь добавить точку с запятой перед последним символом в столбце (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 голосов
/ 10 января 2019

Ты почти понял. Просто используйте функции 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...