2011-10-13 33 views
0

所以我一直在使用一些宏編碼基於一列中的值過濾行。這對我在一般意義上所做的工作很有效,但我需要做一些更具體的事情,以相同的東西。我一直用的就是遵循這個:根據前四位數字和後四位數字過濾一行

Dim c As Range, x As Integer 
'other code here 
Set c = shtMaster.Range("Y5") 'Start search in Row 5 
'other code here 
While Len(c.Value) > 0 
     'If value in column Y ends with specified value,copy to report sheet 
     If c.Value Like "*2130" Or c.Value Like "*0853" Then 
'rest of macro follows 

我一直在試圖亂用。如果行,這樣我可以的前四個和後四位數字加條件,而不是基於上次只是用值四。例如,我可能想要在列Y中搜索前四位數字爲「1234 *」但後四位數字不是「* 5678」的所有值。所以,如果我有一個電子表格:

 Column Y 

行1 12345678
行2 12341234
行3 12340000

那就拉行2和3而不是第1行。我想要使用上面的結構,因爲這是一切都已經寫好,但我似乎無法得到正確的語法。我想用我已經寫過的結構做什麼?如果是這樣,有什麼建議?謝謝。

回答

3
If c.Value Like "1234*" And Not c.Value Like "*5678" Then 

'Values start with 1234 and do not end in 5678. 

End If 
+0

我不知道爲什麼,但這根本不起作用。這是我開始的,但它不會像你想象的那樣拉行。我嘗試過使用圓括號和重新組合行,但它不會拉動它應該的行。 – Jon

+0

它的一些不良數據回退的例子是什麼? – N0Alias

+0

大聲笑。我想到了。我猜想同時在不同的編碼上工作太多。我正在處理的其他內容使用相同的基礎來過濾數據,但使用多個.values。這實際上的確如你所想的那樣工作。我把d.value和c.value混合在一起,所以當然不會拖出它應該做的。 :p – Jon