- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
本帖最後由 Hsieh 於 2011-1-14 19:53 編輯
回復 2# freeffly - Sub 插入一行()
- Dim A As Long, one As Variant, two As Variant
- A = 5 '開始列
- Do While Cells(A, 3).Value <> "" 'C欄不是空白就繼續迴圈
- one = Cells(A, 3).Value '起始值
- A = A + 1 '加一列
- two = Cells(A, 3).Value '第2個C欄值
- Do While one = two '如果起始值跟下一個C欄值相同就繼續迴圈
- A = A + 1 '下一列
- two = Cells(A, 3).Value '下一個C欄值
- Loop
- ActiveSheet.Rows(A).Insert '遇到不同值時該列插入
- A = A + 1 '下一列,因為已經插入一列必須在往下一列才是不同值的第一個位置
- Loop
-
- End Sub
複製代碼 簡化一下你會更清楚邏輯- Sub ex()
- r = 5
- Do While Cells(r, 3) <> ""
- first = Cells(r, 3)
- Do While Cells(r, 3) = first
- r = r + 1
- Loop
- Rows(r).Insert
- r = r + 1
- Loop
- End Sub
複製代碼 |
|