返回列表 上一主題 發帖

[發問] 如何加插行數

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

TOP

本帖最後由 donod 於 2019-7-11 10:57 編輯

回復 11# 准提部林
請准提部林大大指教,謝謝!
G至J欄,當K欄(間距)的絕對值小於儲存格M4及大於儲存格L4,都自動向下加插行數,將每行間距(J欄)都變為以N4中的設定,間距會是遞增或遞減
TEST3.rar (125.39 KB)

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

回復 13# 准提部林
感謝准提部林大大,可以了!因有很多檔案要處理,每次十萬行以上,有些還在運行中。沒有大大幫助,不可能完成。萬分感謝!

TOP

回復 14# donod


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

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

TOP

回復 14# donod


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

TOP

回復 16# 准提部林
謝謝准提部林再幫助,處理多過65536行就不行

TOP

回復 17# donod


換這個:
Xl0000599_v3.rar (15.5 KB)

TOP

本帖最後由 donod 於 2019-7-12 17:50 編輯

回復 18# 准提部林
感謝准提部林大大,執行部份很好,處理速度超快!只是還原不了。

Xl0000599_v4.rar (18.64 KB)

TOP

回復 19# donod


還原--我這ok的

原始資料要先放在Sheet2

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題