返回列表 上一主題 發帖

[發問] 新手請教為何我刪除列都會留一列

[發問] 新手請教為何我刪除列都會留一列

小第剛學VBA 昨天學到用DELETE(3)可以刪除列就學用但都會留一列無法刪除我指定的
Sub xusre()

Dim i As Integer
For i = 2 To 500
If Cells(i, 3).Value = "全數下架" Then
    Cells(i, 3).delete (3)

End If
Next i
End Sub
為何我執行後都會留一行沒刪除 無法刪除列.rar (27.95 KB)
新手但我會努力學習的

小第剛學VBA 昨天學到用DELETE(3)可以刪除列就學用但都會留一列無法刪除我指定的
Sub xusre()

Dim i  ...
hu0318s 發表於 2013-9-10 22:37


刪東西的話通常倒數會比較方便
  1. Sub xusre()

  2. Dim i As Integer
  3. For i = 500 To 2 Step -1
  4. If Cells(i, 3).Value = "全數下架" Then
  5.     Cells(i, 3).delete (3)

  6. End If
  7. Next i
  8. End Sub
複製代碼
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

謝謝大大 可以用那我可以請問一下Step -1不太了解它的用意

TOP

499 =500-1
step =-1

3=2+1
step =1
ss

TOP

回復 3# hu0318s
  1. Option Explicit
  2. Sub Ex()
  3.     Dim i As Integer
  4.     For i = 1 To 50      '=>Step 1
  5.         Debug.Print i
  6.     Next
  7.     For i = 1 To 50 Step 5     '正 i 由小往大
  8.         Debug.Print i
  9.     Next
  10.     For i = 50 To 1 Step -5    '負 i 由大往小
  11.         Debug.Print i
  12.     Next
  13. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# hu0318s


    http://forum.twbts.com/redirect.php?goto=findpost&ptid=10411&pid=58362&fromuid=12328

回復5# G大的意思

你用迴圈的時候,Step 就是 步數的意思

假設你從小到大 以1 TO 10 來講

Step 1 就是  1  2   3  4 5 6  7 8 9 10  (每次跨一步)

Step2  就是 1  3  5  7  9  (每次跨兩步)

那你從大到小   以10 TO 1

Step -1 就是 10  9  8   7  6  5  4   3  2   1  

Step -2 就是 10  8  6  4  2  

這樣子 分解動作應該比較了解。

TOP

謝謝大家的解釋我了解拉 愛死你們大家拉 謝謝

TOP

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