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

У меня есть имена и соответствующие им зарплаты рядом друг с другом.

Мне нужно удалить все в ячейке имени после имени.

Образец данных:

enter image description here

Мне нужно все, что удалено после "ABC Staff", включая само слово, и мне нужно применить этона большое количество имен в столбце одновременно.

Я нашел ответ на первую часть здесь:

Excel VBA - удалить строковое содержимое после * word *

Как мне заставить это работать для всех имен одновременно?

name = "NAME ABC Staff xyz" 
ret = Left(Name, InStr(1, name, "ABC Staff") - 1)
Result: NAME

1 Ответ

0 голосов
/ 29 января 2019
Sub Test()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim LR As Long, MyCell As Range

LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

For Each MyCell In ws.Range("A2:A" & LR)
    If InStr(MyCell, "ABC Staff") Then
        MyCell.Offset(, 3) = Left(MyCell, InStr(MyCell, "ABC Staff") - 2)
    ElseIf InStr(MyCell, "Private") Then
        MyCell.Offset(, 3) = Left(MyCell, InStr(MyCell, "Private") - 2)
    Else
        'What if "ABC Staff" nor "Private" exist in the cell?
    End If
Next MyCell

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...