返回列表 上一主題 發帖

[發問] 取得指定範圍內的各k值

Sub TEST()
Dim xS As Worksheet, xD, Arr(6), Brr, R&, i&, j%, k%, x%, N%, T$
Set xD = CreateObject("Scripting.Dictionary")
For Each xS In Sheets(Array("準2進3", "準3進4", "準4進5", "準5進6", "準6進7", "準7進8"))
    xD.RemoveAll
    R = xS.[ac65536].End(xlUp).Row - 1
    N = N + 1: If R < 1 Then GoTo s01
    ReDim Brr(1 To R - 1, 1 To 7)
    For k = 0 To N
        Arr(k) = xS.[ae2].Cells(1, k * 9 + 1).Resize(R, 7)
        For j = 1 To 7
            xD(Arr(k)(R, j) & "|" & k) = 1
        Next j
    Next k
    '--------------------------------------
    For i = 1 To R - 1
    For j = 1 To 7
        For x = 0 To 48
        For k = 0 To N
            T = (Arr(k)(i, j) + x) Mod 49 & "|" & k
            If xD(T) = 0 Then GoTo x001
        Next k
            Brr(i, j) = Brr(i, j) & IIf(Brr(i, j) = "", "", ",") & x
x001:   Next x
    Next j
    Next i
    '-------------------------------------
    With xS.[v2].Resize(R - 1, 7)
         .NumberFormatLocal = "@"
         .Value = Brr
    End With
s01: Next
End Sub

說明亂, 也亂寫一通~~

TOP

回復 19# ziv976688


1)
T = ABS((Arr(k)(i, j) - x) Mod 49) & "|" & k

2)
V=(Arr(k)(i, j) - x) Mod 49
IF V<0 THEN V=V+49
T=V & "|" & K

TOP

        靜思自在 : 虛空有盡.我願無窮,發願容易行願難。
返回列表 上一主題