請嘗試下面的代碼,將範圍更改爲您需要的範圍,並將圖紙編號更改爲正確的圖紙編號(我不會將您的全部範圍放在一起,因爲如果您有1000個圖案發現,必須在消息框上單擊確定1000次,只需測試一個部分範圍)
這將掃描範圍,並找到任何模式的兩個在10行範圍內,如果您需要它找到更大的模式,你需要再次添加相同的代碼,並用額外的IF
語句檢查下一個偏移量。
如果同樣的模式存在,並且同一列的結構是存在的,但這樣只會覺得它的一個開端,你
上測試
Sub test10()
Dim rCell As Range
Dim rRng As Range
Set rRng = Sheets("Sheet1").Range("A1:I60") '-1 on column due to offset
'Scan through all cells in range and find pattern
For Each rCell In rRng.Cells
If rCell.Value = "" Then GoTo skip
For i = 1 To 10
If rCell.Value = rCell.Offset(i, 0).Value Then
If rCell.Offset(0, 1).Value = rCell.Offset(i, 1) Then
MsgBox "Match Found at: " & rCell.Address & ":" & rCell.Offset(0, 1).Address & " and " & rCell.Offset(i, 0).Address & ":" & rCell.Offset(i, 1).Address
End If
End If
Next i
skip:
Next rCell
End Sub
*** UPDATE
工作正常** *
我已經更新了我的代碼,下面現在發現的模式無論它可能會出現在未來的10行:
Sub test10()
Dim rCell As Range
Dim rRng As Range
Dim r1 As Range
Dim r2 As Range
Set rRng = Sheets("Sheet1").Range("A1:I50") '-1 on column due to offset
i = 1 'row length
y = 0 'column length
'Scan through all cells in range and find pattern
For Each rCell In rRng.Cells
If rCell.Value = "" Then GoTo skip
i = 1
Do Until i = 10
y = 0
Do Until y = 10
xcell = rCell.Value & rCell.Offset(0, 1).Value
Set r1 = Range(rCell, rCell.Offset(0, 1))
r1.Select
ycell = rCell.Offset(i, y).Value & rCell.Offset(i, y + 1).Value
Set r2 = Range(rCell.Offset(i, y), rCell.Offset(i, y + 1))
If ycell = xcell Then
Union(r1, r2).Font.Bold = True
Union(r1, r2).Font.Italic = True
Union(r1, r2).Font.Color = &HFF&
MsgBox "Match Found at: " & rCell.Address & ":" & rCell.Offset(0, 1).Address & " and " & rCell.Offset(i, y).Address & ":" & rCell.Offset(i, y + 1).Address
Union(r1, r2).Font.Bold = False
Union(r1, r2).Font.Italic = False
Union(r1, r2).Font.Color = &H0&
End If
y = y + 1
Loop
i = i + 1
Loop
skip:
Next rCell
End Sub
首先,您是否希望選擇一個「模式」來尋找或者您是否要求它查看您擁有信息的10,000個單元格中的每種可能的組合?如果是後者,那麼這將需要很長時間來檢查和捕獲任何可能發現的事情,甚至可能不可能。 – SilverShotBee 2014-09-03 06:35:04
SilverShotBee:感謝您的回覆。 表格現在有2200行左右的固定值,模式,不能說10行限制,表示模式會出現在10行和15行之內。第1行不能與任何超過10行的行匹配。在細胞中只有10種可能性,如果你願意,我會附上一幅圖像。我想找到一個模式。如果匹配一次,我可以寫一個AND來匹配它,無論它在哪裏。 – VIVEK 2014-09-03 06:39:26
模式的最小長度是多少? '2'? – 2014-09-03 07:08:17