>>29
Sub test(検査範囲 As Range, 検査値 As String)
k = 0 '連番開始値
xr = 検査範囲

Top = LBound(xr, xlRows)
Bottom = UBound(xr, xlRows)
Left = LBound(xr, xlColumns)
Right = UBound(xr, xlColumns)

For i = Right To Left '右から左
For j = Top To Bottom '上から下
If xr(j, i) = 検査値 Then
検査範囲.Range(j, i) = k
k = k + 1
End If
Next
Next
End Sub

こういう事?