2011-05-23 27 views
0

我想製作一個檢查行的腳本,第一列的所有行都已完成,檢查下一行,依此類推。檢查單元格是否有多個數據

我想從excel表中刪除一些單詞,問題是有很多單詞。

我想要這樣做: IF A1 = car OR boat OR train ...爲每個單元格中有文字。 如果單元格包含指定文本,則將其刪除。

任何人都可以舉一些例子嗎?

感謝, 塞巴斯蒂安

+0

它是否需要逐列進行?您也可以使用Excel的查找/替換功能來查找每個單詞並將其替換爲「」。 – CaBieberach 2011-05-23 14:13:09

+0

不一定一列一列。但查找/替換不是一個選項,我有大約4500行。並刪除大約50個字。 – sebastian 2011-05-23 15:05:16

+0

我的意思是使用查找/替換通過VBA。我在下面舉了一個例子。 – CaBieberach 2011-05-24 12:23:37

回答

1

嘗試使用查找/通過VBA更換。它非常快。

Sub SearchAndDestroy() 
    Dim SearchWordCell As Range 

    For Each SearchWordCell In Range("A1:A50") 'Asuming that range A1:A50 is the list with the 50 words you want to search/replace 

     Range("C10:R4510").Replace What:=SearchWordCell.Value, Replacement:="", LookAt:=xlPart, _ 
      SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
      ReplaceFormat:=False 'Asuming that range C10:R4510 is the table where you want to find and delete the words. 

    Next SearchWordCell 

End Sub 

只需根據需要進行修改即可。

+0

工作得很好。謝謝你的幫助。 – sebastian 2011-05-24 15:58:25

+0

我該如何修改這個腳本來刪除不在列表中的字詞並保留其他字詞?謝謝,塞巴斯蒂安 – sebastian 2011-05-30 08:20:46

0

商店要在通過此範圍的範圍和週期刪除單詞列表。

例子:

Sub DeleteFromWordList() 
Dim InRange As Range, CritRange As Range 
Dim InCell As Range, CritCell As Range 

    Set InRange = Selection     ' all selected source cells 
    Set CritRange = Range("Words2Delete") ' the named range of words to be excluded 

    For Each InCell In InRange.Cells 
     For Each CritCell In CritRange.Cells 
      If InCell = CritCell Then 
       InCell = ""     ' blank it 
       Exit For      ' exit inner for 
      End If 
     Next CritCell 
    Next InCell 
End Sub 

希望幫助....好運氣拾音

+0

感謝您的回覆。 我試過你的腳本,但是我總是收到錯誤1004,應用程序定義或對象定義的錯誤。任何想法爲什麼?我正在使用Excel 2010 – sebastian 2011-05-23 15:03:10

+0

不知道...我正在使用2003.您是否創建了範圍「Words2Delete」?你可以通過調試器循環並檢查哪個語句出現錯誤? – MikeD 2011-05-23 16:03:16

相關問題