2015-04-20 111 views
1

我正在嘗試瀏覽部門名稱(字符串)的列,而包含字符串「 - INACTIVE」的任何東西都需要將其刪除並且只有部門名稱。例如,如果我有「傑克遜維爾 - 非激活」,我想它只是在列單元格中的「傑克遜維爾」。我試圖使用.Find和.Replace方法,但我似乎沒有掌握使用它們的方式。在VBA中查找和替換

我已經試圖在朋友的幫助下,這是我迄今爲止。我對這種語言很陌生。

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 

回答

2

爲什麼不能對整個A列使用Excel工作表Replace功能?

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

謝謝你的迴應,我會試試這個。 –

+0

謝謝你這個工作很好,做了我所需要的 –