返回列表 上一主題 發帖

[發問] 如何加插行數

應該沒人看得懂邏輯~~
做一張原表,
及一張結果表, 並說明規則流程,
這樣也許可以比對~~

TOP

Sub TEST()
Dim xE As Range, i&, j&, Num(2), xR As Range, U(3), UK&
Num(0) = [N4]: Num(1) = [L4]: Num(2) = [M4]
Set xE = Cells(Rows.Count, "G").End(xlUp)
For i = xE.Row To 6 Step -1
    Set xR = Cells(i - 1, "G")
    U(1) = xR(2, 4):  U(2) = xR(1, 4):  U(0) = U(1) - U(2)
    If Abs(U(0)) <= Num(1) Or Abs(U(0)) >= Num(2) Then GoTo 101
    U(3) = Int(Abs(U(0)) / Num(0)) - 1
    If U(3) <= 0 Then GoTo 101
    xR(2, 1).Resize(U(3)).EntireRow.Insert
    xR.Resize(1, 3).Copy xR(2, 1).Resize(U(3), 3)
    For j = 1 To U(3)
        xR(j + 1, 4) = U(2) + Num(0) * j * IIf(U(0) >= 0, 1, -1)
    Next j
101: Next i
End Sub

Xl0000599.rar (14.58 KB)


=========================

TOP

回復 14# donod


每次十萬行以上???
處理完區間後又變成幾行???

以這數據量, 上面那程式肯定太慢了~~

TOP

回復 14# donod


用這個跑看看:
Xl0000599_v2.rar (15.11 KB)

TOP

回復 17# donod


換這個:
Xl0000599_v3.rar (15.5 KB)

TOP

回復 19# donod


還原--我這ok的

原始資料要先放在Sheet2

TOP

        靜思自在 : 一句溫暖的話,就像往別人身上灑香水,自己會沾到兩三滴。
返回列表 上一主題