Re: [算表] excel用VB寫刪除為0和空白的列 (VBA)
修改一下程式,主要是為了避免不必要的處理及顯示處理的過程,
速度上應該會快很多
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
Office 近期熱門文章
PTT數位生活區 即時熱門文章