VBA代码运行速度慢,怎么优化

作者:访客 2024-05-11 浏览:59
导读: Sub 筛选()'' 筛选 宏'' 快捷键: Ctrl+f'    '筛选 宏自动生成    Sheets(小型建筑表 (打印)).Rows(5:5).AutoFilter    ActiveSheet.Range($A$5:$SW$184).AutoFilter Field:=6, Criteri...

VBA代码运行速度慢,怎么优化

Sub 筛选()
'
' 筛选 宏
'
' 快捷键: Ctrl+f
'
    '筛选 宏自动生成
    Sheets(小型建筑表 (打印)).Rows(5:5).AutoFilter
    ActiveSheet.Range($A:$SW4).AutoFilter Field:=6, Criteria1:=0, _
        Operator:=xlOr

    ActiveSheet.Range(a6).Resize(173) = =subtotal(103,$b:b6)      '对筛选出的数据进行编号

'设置页边距
    Dim sh As Worksheet

    For Each sh In Worksheets
        With sh.PageSetup
            .CenterHorizontally = True      '页边水平
            .CenterVertically = False       '页边垂直
            .LeftMargin = Application.CentimetersToPoints(1.8)      '左边距
            .RightMargin = Application.CentimetersToPoints(1.8)     '右边距
            .TopMargin = Application.CentimetersToPoints(2.5)       '上边距
            .BottomMargin = Application.CentimetersToPoints(2.5)    '下边距
            .FooterMargin = Application.CentimetersToPoints(1.3)    '页眉
            .HeaderMargin = Application.CentimetersToPoints(1.3)    '页脚
        End With
    Next sh

    ThisWorkbook.Save   '保存文档
    Sheets(Array(表一, 小型建筑表 (打印))).Select   '选中需要打印的sheet
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=Adobe PDF  '打印成PDF并保存
    ThisWorkbook.Save   '保存文档
End Sub貌似上面的部分可以简化一下,VBA代码一般不需要先选择对象,直接写方法的话速度能快些。

转载请注明出处:访客,如有疑问,请联系(762063026)。
本文地址:https://office-vip.com/post/23753.html

标签: