VBA:联合功能不能删除不连续的列

WyoWindStorm

使用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
拉杰什S

您的代码几乎不需要更正,您可以使用以下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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章