1
我有一些代码根据数组创建大量工作表(通过复制现有工作表),然后应用自动过滤器。编程更新PDF导出之前的自动过滤器
下面是我用来应用自动过滤器的代码,因为您可以看到它配置为应用于被激活的工作表和任何单元格更改。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
Range("A19").AutoFilter
Range("A19").AutoFilter Field:=1, Criteria1:=Range("F17").Value
End Sub
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
Range("A19").AutoFilter
Range("A19").AutoFilter Field:=1, Criteria1:=Range("F17").Value
End Sub
我的问题是,我再运行一些进一步的代码到片保存到一个PDF,此时张尚未激活的改变(所以因此不应用过滤器)
下面是我保存的工作表代码:
'Code to Save PDF
Dim wks As Worksheet
Dim WksCell As Range
' Look at each cell within the range and obtain worksheet names
For Each WksCell In ActiveSheet.Range("A2:A" & iHighest).Cells
' Attempt to reference the worksheet using this name
Set wks = Excel.Worksheets(WksCell.Value)
Set rng = wks.Range("A2:F20")
pdfName = wks.Name
ChDir ActiveWorkbook.Path & "\"
fileSaveName = wks.Name
wks.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
fileSaveName _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Next
End Sub
有没有办法来强制这些表的更新/激活触发导出之前自动筛选?
注意:如果我在导出之前手动点击每张纸,那就没问题。