我的名字和他们对应的薪水彼此相邻。
我需要删除名称单元格中名称之后的所有内容。
数据示例:
我需要删除“ 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
答案 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