使用UNION函数,下面的代码应删除指定列B,D和F的整个列。
我选择UNION函数是因为几个SE帖子建议UNION FUNCTION是选择非连续cols的最有效方法。
我认为通过“ SET”定义范围,可以正确地声明要删除的特定列。
代码在工作表上运行时没有错误,数据在行“ A”到“ M”中,但不删除任何列。
感谢您抽出宝贵的时间来协助我!
Sub Union_Function_del_NonContig_Cols()
Dim wb As Workbook
Set wb = ActiveWorkbook
Dim R1, R2, R3, R4 As Range
Set R1 = wb.Sheets(1).Range("B:B")
Set R2 = wb.Sheets(1).Range("D:D")
Set R3 = wb.Sheets(1).Range("F:F")
Range("R1:R3").EntireColumn.Delete
End Sub
您的代码几乎不需要更正,您可以使用以下VBA代码删除多列。
Sub Union_Function_del_NonContig_Cols()
Dim rng1 As Range, rng2 As Range, rngUnion As Range
Set rng1 = ActiveWorkbook.Worksheets("Sheet1").Range("A:A")
Set rng2 = ActiveWorkbook.Worksheets("Sheet1").Range("C:C")
Set rngUnion = Union(rng1, rng2)
rngUnion.Columns.Delete
End Sub
注意: 在上述代码中,“工作表和列”名称是可编辑的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句