如何删除某个单词后的单元格内容

时间:2019-01-28 20:47:37

标签: excel vba string

我的名字和他们对应的薪水彼此相邻。

我需要删除名称单元格中名称之后的所有内容。

数据示例:

enter image description here

我需要删除“ ABC Staff”之后的所有内容,包括单词本身,我需要一次将其应用于一列中的大量名称。

我在这里找到了第一部分的答案:

Excel VBA - delete string content after *word*

如何使它同时适用于所有名称?

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

1 个答案:

答案 0 :(得分:0)

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