[英]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.