我有一段代码,可以自动将主表中特定单元格复制到另一个表中。当在“B列”输入特定的值时,即可实现此功能。
例如,在下面的示例中,我想要复制所有“B列”的值等于“Faults Raised”的单元格。但问题是,主表有一个独立的脚本,根据在“B列”中输入的其他各种“值”,隐藏/显示“列”。
当输入“Faults Raised”时,“B:C,AC:AE,BP”列会显示出来。但是当我尝试自动复制时,只有“B列”被显示出来。我无法复制“C,AC:AE”和“BP”?我做错了什么?
例如,在下面的示例中,我想要复制所有“B列”的值等于“Faults Raised”的单元格。但问题是,主表有一个独立的脚本,根据在“B列”中输入的其他各种“值”,隐藏/显示“列”。
当输入“Faults Raised”时,“B:C,AC:AE,BP”列会显示出来。但是当我尝试自动复制时,只有“B列”被显示出来。我无法复制“C,AC:AE”和“BP”?我做错了什么?
Option Explicit
Sub FilterAndCopy()
Dim sht1 As Worksheet, sht2 As Worksheet
Set sht1 = Sheets("SHIFT LOG")
Set sht2 = Sheets("FAULTS RAISED")
sht2.UsedRange.ClearContents
Dim rng As Range
With sht1.Cells(2, "B").CurrentRegion
.Range("B:BP").EntireColumn.Hidden = False ' unhide columns
.AutoFilter
.AutoFilter 2, "Faults Raised"
.SpecialCells(xlCellTypeVisible).Copy sht2.Cells(6, 2)
.AutoFilter
.Range("C:AA").EntireColumn.Hidden = True ' hide columns
sht2.Range("C:AA").EntireColumn.Delete ' delete 'sht2' columns
.Range("AE:BN").EntireColumn.Hidden = True ' hide columns
sht2.Range("AE:BN").EntireColumn.Delete ' delete 'sht2' columns
End With
结束子程序