Re: [算表] excel用VB寫刪除為0和空白的列 (VBA)

看板Office作者 (windknife18)時間14年前 (2011/12/12 11:51), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
修改一下程式,主要是為了避免不必要的處理及顯示處理的過程, 速度上應該會快很多 Option Explicit Sub LoopRange() Dim x As Integer x = Cells.SpecialCells(xlCellTypeLastCell).Row Application.ScreenUpdating = False While x > 0 If Cells(x, 3).Value = "" Or Cells(x, 3).Value = "0" Then Cells(x, 3).EntireRow.Delete End If x = x - 1 Wend Application.ScreenUpdating = True MsgBox ("完成!") End Sub ※ 引述《windknife18 (windknife18)》之銘言: : 刪除最好由後面往前刪除, 還有 If 後面的寫錯囉, : 試試看下面的寫法 : Sub LoopRange() : x = 3000 : While x > 0 : If Cells(x, 3).Value = "" Or Cells(x, 3).Value = "0" Then : Cells(x, 3).EntireRow.Delete : End If : x = x - 1 : Wend : End Sub : ※ 引述《JJabrams》之銘言: : : 軟體: : : excel 2003 : : 想請問一下大家我這樣的程式碼有什麼問題? : : 目的是想要把第三欄內,每一列內容為0或者"空白"的列刪除 : : 我寫了一個簡單的Loop卻跑不起來 : : 程式碼如下: : : Sub LoopRange() : : x = 2 : : Do While x < 3000 : : If Cells(x, 3).Value = "" Or "0" Then : : Cells(x, 3).EntireRow.Delete : : x = x + 1 : : End If : : Loop : : End Sub : : 當x>3000後停止這個迴圈 : : 還請大家幫我解答一下 : : 感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.131.84.203

12/15 11:43, , 1F
非常感謝!!!!!!
12/15 11:43, 1F

12/15 11:47, , 2F
天啊速度變得超級無敵快
12/15 11:47, 2F

12/15 13:47, , 3F
^_^
12/15 13:47, 3F
文章代碼(AID): #1EvNeiEJ (Office)
文章代碼(AID): #1EvNeiEJ (Office)