返回列表 上一主題 發帖

[發問] (已解決)插入一行vba問題

本帖最後由 Hsieh 於 2011-1-14 19:53 編輯

回復 2# freeffly
  1. Sub 插入一行()
  2.     Dim A As Long, one As Variant, two As Variant
  3.     A = 5 '開始列
  4.     Do While Cells(A, 3).Value <> "" 'C欄不是空白就繼續迴圈
  5.     one = Cells(A, 3).Value  '起始值
  6.     A = A + 1 '加一列
  7.     two = Cells(A, 3).Value  '第2個C欄值
  8.     Do While one = two  '如果起始值跟下一個C欄值相同就繼續迴圈
  9.     A = A + 1 '下一列
  10.     two = Cells(A, 3).Value '下一個C欄值
  11.     Loop
  12.     ActiveSheet.Rows(A).Insert '遇到不同值時該列插入
  13.     A = A + 1 '下一列,因為已經插入一列必須在往下一列才是不同值的第一個位置
  14.     Loop
  15.    
  16. End Sub
複製代碼
簡化一下你會更清楚邏輯
  1. Sub ex()
  2. r = 5
  3. Do While Cells(r, 3) <> ""
  4. first = Cells(r, 3)
  5. Do While Cells(r, 3) = first
  6.    r = r + 1
  7. Loop
  8. Rows(r).Insert
  9. r = r + 1
  10. Loop
  11. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 靜坐常恩己過、閒談莫論人非。
返回列表 上一主題