规则是向右,向上历遍所有的路,再向下历遍.都是唯一不重复的,数量相当庞大.....够你看的了 如果允许往后走,这个数量还要*N次方... Dim Pct As Long Sub ff() [a1:j10].Clear [a1:j10].BorderAround ColorIndex:=3, Weight:=xlThick Pct = 0 reRng Range("a10"), 0 End Sub Sub reRng(Rng As Range, ByVal cnt As Integer) cnt = cnt + 1 Rng.Value = cnt Rng.Interior.ColorIndex = 4 If Rng.Address = "$J$1" Then Pct = Pct + 1 [a12] = "第" & Pct & "条" [b12] = cnt & "步" 'Stop For i = 1 To 10000 '延时,目的为了查看,或者你可以用Stop DoEvents Next Rng.Value = "" Rng.Interior.ColorIndex = 0 Exit Sub End If If Rng.Column < 10 Then If Rng.Offset(0, 1) = "" Then reRng Rng.Offset(0, 1), cnt End If End If If Rng.Row = 1 Then Rng.Value = "" Rng.Interior.ColorIndex = 0 Exit Sub End If If Rng.Offset(-1, 0) = "" Then reRng Rng.Offset(-1, 0), cnt End If If Rng.Row < 10 Then If Rng.Offset(1, 0) = "" Then reRng Rng.Offset(1, 0), cnt End If End If Rng.Value = "" Rng.Interior.ColorIndex = 0 End Sub
[此贴子已经被作者于2010-2-27 19:38:51编辑过] |