我有這個代碼根據列 C 中的資訊在我需要的地方添加行。
Dim lRow As Long
For sRow = Cells(Cells.Rows.Count, "C").End(xlUp).Row To 3 Step -1
If Cells(sRow, "C") <> Cells(sRow - 1, "C") Then Rows(sRow).EntireRow.Insert
Next sRow
我得到的結果是在第 15 行(我的表格標題所在的位置)插入一行,將這些表格標題向下移動到第 16 行。然后在第 17 行的表格標題和內容之間插入另一行。然后行是從那里插入所需的位置。
如何更改此設定,使其從第 16 行開始,并且僅在 C 列中的內容更改時插入新行?
這是我要找的:

這就是我得到的:

每次腳本運行時,它會將整個表下移一行。
uj5u.com熱心網友回復:
如果要從第 16 行開始,只需更改 for 回圈中的起點
Dim lRow As Long
For sRow = 16 To 3 Step -1
If Cells(sRow, "C") <> Cells(sRow - 1, "C") Then Rows(sRow).EntireRow.Insert
Next sRow
uj5u.com熱心網友回復:
我想我明白了。您只是在“C”列中有差異的地方插入一行。不幸的是,這包括您的標題。你這個:
Dim lRow As Long
For sRow = Cells(Cells.Rows.Count, "C").End(xlUp).Row To 3 Step -1
If Cells(sRow, "C") <> Cells(sRow - 1, "C") and Cells(sRow - 1, "C").Value <> "Or Ty" Then
Rows(sRow).EntireRow.Insert
End If
Next sRow
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/364553.html
上一篇:EXCELVBA中的質數
下一篇:特定檔案的Word自動打開
