我正在尝试在一些VBA代码中组织我的列。我需要它们按照特定的顺序取决于行A中的值。我知道我可以使用以下方法来实现它,但是它很长,并且看起来很糟糕。有没有更有效的方法呢?
当前代码
Set Name = Cells.Find(What:="Name", LookAt:=xlWhole)
然后激活单元格,找到列,然后粘贴到我想要的位置。所以如果列是这样的:
它会将订单更改为此
我不能删除我不想要的列,因为它们会改变位置。因此,如果我要删除C:C列,它可能会删除我偶尔需要的内容。
我需要它,以便无论有哪些列,或者有多少列,它也将按照上面显示的顺序排列。
由于
答案 0 :(得分:0)
Try this.
Dim Rng As Range
Set Rng = ActiveSheet.UsedRange
If Range("A2").Value = "x" Then
Range("A1,C1,D1").EntireColumn.Hidden = True
Rng.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Sheet2").Range("A1")
End If