2016-07-18 51 views
0

我有一個字符串的長列,例如:刪除行如果單元格包含文本後第二個連字符

GREENCAT-01-AB-01 
BLUEDOG-800-CC-1 
BLUECAT-1 
GREENDOG-804 
BLACKSHEEP-58 
PINKMOUSE-900-AB 

所需的結果:

BLUECAT-1 
GREENDOG-804 
BLACKSHEEP-58 

我試圖使用查找功能找到任何具有第二個連字符並刪除該行的字符串。我使用的是「通配符」,但它們需要具體,某些字符串在第一個連字符後只有1或2個數字,而另一些則有3或4.

幫助?

Set SrchRng = WS.Range("A1:A" & LastRow) 
    Do 
    Set c = SrchRng.Find(What:="-***-", LookAt:=xlPart) 
     If Not c Is Nothing Then c.EntireRow.Delete 
    Loop While Not c Is Nothing 
+0

以供將來參考,星號通配符匹配任何數目的字符,其中一個問號只匹配一個字符。這意味着當使用星號時,您不必擔心可能有多少個字符:) – StevenWalker

回答

2

只是無論是在開頭和結尾處添加一個「*」你的「是什麼」參數

Set SrchRng = ws.Range("A1:A" & lastRow) 
Do 
    Set c = SrchRng.Find(What:="*-*-*", LookAt:=xlPart) 
    If Not c Is Nothing Then c.EntireRow.Delete 
Loop While Not c Is Nothing 
+0

我看過這些都在同一個單元格中。閱讀整個問題的好工作。 –

+0

同意。注意細節。 +1 – cyboashu

+0

謝謝@ScottCraner,實際上OP並不是那個「立即」 – user3598756

相關問題