在VBA中查找和替换

时间:2015-04-20 19:57:42

标签: excel vba excel-vba replace

我正在尝试浏览部门名称(字符串)列,并且包含字符串“ - INACTIVE”的任何内容都需要删除它并且只有部门名称。例如,如果我有“杰克逊维尔 - 非活跃”,我希望它只是在列单元格中的“杰克逊维尔”。我试图使用.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

1 个答案:

答案 0 :(得分:2)

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

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