请为相对新手提供帮助......我正在寻找一种方法来删除单个工作簿中多个工作表中的所有空白列(有标题)。
我有一个代码(我没有编写)可以删除活动工作表中的所有空白列,并且效果很好。但是,我想要一种方法让该代码同时在多个工作表中工作。我找不到任何东西:
子删除空白列() 暗淡我只要 Dim lnglastcolumn 只要长 调暗范围
With ActiveSheet
lnglastcolumn = .Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To lnglastcolumn
If .Cells(.Rows.Count, i).End(xlUp).row = 1 Then
If delrng Is Nothing Then
Set delrng = .Columns(i)
Else
Set delrng = Union(delrng, .Columns(i))
End If
End If
Next i
End With
delrng.Delete
结束子
非常感谢任何帮助!
使用表格对象:
Sub DeleteBlankColumns(curSheet As Object)
Dim i As Long
Dim lnglastcolumn As Long
Dim delrng As Range
With curSheet
lnglastcolumn = .Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To lnglastcolumn
If .Cells(.Rows.Count, i).End(xlUp).Row = 1 Then
If delrng Is Nothing Then
Set delrng = .Columns(i)
Else
Set delrng = Union(delrng, .Columns(i))
End If
End If
Next i
End With
If Not (delrng Is Nothing) Then
delrng.Delete
End If
End Sub
Sub Run()
DeleteBlankColumns Sheets("Sheet1")
DeleteBlankColumns Sheets("Sheet2")
End Sub