簡體   English   中英

如何使用VBA在Excel中刪除整個列

[英]How to delete Entire Column in excel using vba

我想在excel中刪除空列,請查看以下代碼並提出更正建議。

Sub RemoveEmptyCol()
Dim lc As Double
lc = Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To lc
If Cells(1, i).Value = "" Then
Cells(1, i).EntireColumn.Delete
End If
Next i
End Sub

我嘗試了上面的代碼來刪除空列,但是它並沒有一次運行就刪除所有空列。

Scott Craner正好可以反向循環,我將添加另一條有價值的信息,這將有助於處理時間,特別是如果您有許多行的數據,因為刪除整列可能會占用大量資源。

以下代碼將僅刪除存儲實際數據的行的空白列。 假定A列已填滿整個行集。如果沒有,請根據任何列進行調整。

Sub RemoveEmptyCol()

    Dim lc As Long, lr as Long
    lc = Cells(1, Columns.Count).End(xlToLeft).Column
    lr = Cells(Rows.Count,1).End(xlUp).Row

    For i = lc To 1 Step -1

        If Cells(1, i).Value = "" Then 

            Range(Cells(1, i),Cells(lr,i).Delete Shift:=xlToLeft

        End If

    Next i

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM