返回列表 上一主題 發帖

[發問] 簡單組合問題。

回復 1# stephenlee


不好意思,不太能理解X欄的結果如何產出,可否請你再詳細說明規則,感謝。

TOP

回復 3# stephenlee

請測試看看,謝謝。

Sub test()
Dim Arr, xD, i%, i2&, N%
Arr = Range([F1], [Q65536].End(3))
Set xD = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(Arr)
    If Not xD.Exists(Arr(i, 12) & "") Then
        xD(Arr(i, 12) & "") = ""
        For i2 = i To UBound(Arr)
            If xD.Exists(Arr(i2, 12) & "") Then N = N + 1
        Next
        Cells(i, 24) = Arr(i, 1) & "~" & N: N = 0
    End If
Next
End Sub

TOP

回復 6# stephenlee

不好意思沒注意到,請再測試看看,謝謝。

Sub test2()
Dim Arr, xD, i%, i2&, N%
Arr = Range([F1], [Q65536].End(3))
Set xD = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(Arr)
    If Not xD.Exists(Arr(i, 12) & "") Then
        xD(Arr(i, 12) & "") = i
        For i2 = i To UBound(Arr)
            N = xD(Arr(i2, 12) & ""): If N = 0 Then Exit For
        Next
        Cells(i, 24) = Arr(i, 1) & "~" & Arr(i2 - 1, 1)
    End If
Next
End Sub

TOP

回復 8# stephenlee

請再測試看看,謝謝。

Sub test3()
Dim Arr, xD, i%, i2&, N%
Arr = Range([F1], [Q65536].End(3))
Set xD = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(Arr)
    If Not xD.Exists(Arr(i, 12) & "") Then
        xD(Arr(i, 12) & "") = i
        For i2 = i To UBound(Arr)
           If Not xD.Exists(Arr(i2, 12) & "") Then Exit For
        Next
        Cells(i, 24) = Arr(i, 1) & "~" & Arr(i2 - 1, 1)
    End If
Next
End Sub

TOP

回復 10# stephenlee

請測試看看,謝謝。

Sub test()
Dim Arr, a, a1
Arr = Range("A2:A" & [A65536].End(3).Row)
For i = 1 To UBound(Arr)
    a = Split(Arr(i, 1), "-")(0)
    a1 = Split(Arr(i, 1), "-")(1)
    If a = a1 Then Arr(i, 1) = a
Next
Range("B2").Resize(UBound(Arr)).NumberFormatLocal = "@"
Range("B2").Resize(UBound(Arr)) = Arr
End Sub

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題