excel searching technique

2011-03-21 6:52 am
我在column A有以下data 1 1 1 3 1 11 1 1 1 1 11 1 1 2 1 11 1 1 3 1 31 1 1 3 1 21 2 1 3 1 11 1 1 3 2 11 1 1 3 3 11 1 1 1 1 31 1 1 1 1 21 2 1 1 1 11 1 1 1 2 11 1 1 1 3 11 1 2 3 1 11 3 1 3 1 11 1 2 1 1 11 3 1 1 1 11 1 1 2 1 31 1 1 2 1 22 1 1 3 1 11 2 1 2 1 11 1 1 2 2 11 1 1 2 3 12 1 1 1 1 11 1 2 2 1 11 3 1 2 1 1
如此類推。。。
如果我想找出
1 1 1 2 * 1
(* 代表任意數字)
( 即 1 1 1 2 1 1
1 1 1 2 2 1
1 1 1 2 3 1)的所有組合,可以怎麼做呢?一定要vba? 如果是,可以提供code 嗎?

回答 (1)

2011-03-21 10:29 am
✔ 最佳答案
用 FIND 功能, 但你最好改為找尋 1112?1, 否則會有多餘答案跑出來。

以下是相關 VBA code 參考, 正常大型數據作業下, 你不可以以 message box display 列出所有 findings:

Sub SmartFilter()
Dim FirstAddress, Result, Response
Result = "The found record(s) of 1112?1 pattern is/are:"
With ActiveSheet.Range("A:A")
Set C = .Find("1112?1", LookIn:=xlValues)
If Not C Is Nothing Then
FirstAddress = C.Address
Do
Result = Result & Chr(10) & C.Value & " " & C.Address
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> FirstAddress
End If
Response = MsgBox(Result, 0, "Smart Filter Results")
End with
End Sub

2011-03-21 02:34:43 補充:
請留意所有轉行是否多了一個 space。

xlValues) .....correct
xlValue s) .....wrong

2011-03-21 10:06:26 補充:
因為以上嘅 code 有幾句比較長, 可能你 copy&paste 嘅時候會多咗啲無為嘅 spaces, 其他發問者試過唔識點 fix, 不過睇嚟你唔存在相關問題。


收錄日期: 2021-04-16 12:33:25
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20110320000051KK01585

檢視 Wayback Machine 備份