在 VBA 中查找和替换

Find and Replace in VBA

我正在尝试查看一列部门名称(字符串),任何包含字符串“- INACTIVE”的内容都需要将其删除,只保留部门名称。例如,如果我有 "Jacksonville - INACTIVE",我希望它在列单元格中只是 "Jacksonville"。我尝试过使用 .Find 和 .Replace 方法,但我似乎没有掌握如何使用它们。

我在朋友的帮助下尝试过,这就是我目前所做的。我是这门语言的新手。

 Sub DeleteRows()

    Dim c As Range
    Dim SrchRng
    Dim InactiveDepartment As String
    Dim Department As String

 Range("A1").Select

 InactiveDepartment = ActiveCell.Value

 Set SrchRng = ActiveSheet.UsedRange

 Do Until ActiveCell.Value = ""
     Set c = SrchRng.Find("INACTIVE", LookIn:=xlValues)
     If Not c Is Nothing Then
         Department = Replace(InactiveDepartment, " - INACTIVE", "")
         ActiveCell.Value = Department
         ActiveCell.Offset(1, 0).Select
    Else
         ActiveCell.Offset(1, 0).Select
    End If
Loop

End Sub

为什么不在整个 A 列上使用 Excel Replace 工作表函数?

Range("A:A").Replace What:="- INACTIVE", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False