在 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
我正在尝试查看一列部门名称(字符串),任何包含字符串“- 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