使用列号删除多个列

只是想分享,因为我有大量的麻烦寻找方法来做到这一点,并最终通过一系列的尝试和错误得到它。

Sheet1.Range(Cells(1,11),Cells(1,100))。EntireColumn.Delete

这将删除列11到100。

更多的方法

删除连续的列,如1 – 100

 Sub Sample() With Sheet1 'A:CV .Columns(ReturnName(1) & ":" & ReturnName(100)).Delete Shift:=xlToLeft End With End Sub '~~> Returns Column Name from Col No Function ReturnName(ByVal num As Integer) As String ReturnName = Split(Cells(, num).Address, "$")(1) End Function 

删除不连续的列,如1,3,5

 Sub Sample() With Sheet1 'A:A,C:C,E:E .Range( _ ReturnName(1) & ":" & ReturnName(1) & "," & _ ReturnName(3) & ":" & ReturnName(3) & "," & _ ReturnName(5) & ":" & ReturnName(5) _ ).Delete Shift:=xlToLeft End With End Sub Function ReturnName(ByVal num As Integer) As String ReturnName = Split(Cells(, num).Address, "$")(1) End Function '**Another way** Sub Sample() Dim Rng As Range With Sheet1 Set Rng = Union(.Columns(1), .Columns(3), .Columns(5)) End With Rng.Delete Shift:=xlToLeft End Sub 
 With Sheet1 .Range(.Cells(1, 11), .Cells(1, 100)).EntireColumn.Delete End With