将所有Excel工作表设置为定义的缩放级别

33

我在一个Excel工作簿(文件)中有超过二十张表格。是否有一些代码片段或命令可以应用/使用,使所有表格都可以重置为85%的缩放级别?

3个回答

65
Sub SetZoom()
    Dim ws As Worksheet

    For Each ws In Worksheets
        ws.Select
        ActiveWindow.Zoom = 85 ' change as per your requirements
    Next ws
End Sub

顺便提一下,如果你只是通过选项卡选择工作簿中的所有工作表,然后将缩放设置为85%,它将应用于所有工作表。


@MoritzSchmitzv.Hülst 使用 VBA =P - ADTC
虽然这个解决方案仍需要您使用.Select,但您可以在不循环的情况下为所有工作表更新缩放比例:https://dev59.com/O5vga4cB1Zd3GeqPwxzT#39715890 - Marcucciboy2

1
Sub SetZoom()

Dim ws As Worksheet
Application.ScreenUpdating = False    'Optional
For Each ws In ActiveWorkbook.Worksheets
    ws.Activate
    ActiveWindow.Zoom = 85
Next
Application.ScreenUpdating = True

End Sub

这段代码与上面的类似,但在运行宏之前不必选择工作簿中的所有工作表。不要使用ws.SelectNext ws,除非您选择了工作表,否则将无法正确工作,改为使用ws.ActivateNext以设置所有工作表的缩放比例。如有需要,可以为包含许多工作表的工作簿禁用ScreenUpdating


虽然此代码可能有助于解决问题,但最好包含一些上下文,解释其工作原理以及何时使用它。仅提供代码的答案往往在长期内没有多少用处。请参阅《如何编写一个好的答案?》(https://stackoverflow.com/help/how-to-answer) 了解更多信息。 - Klaus Gütter
谢谢您的反馈,Klaus! - Felipe Ribeiro

0

Option Explicit

Sub FixSheets()
    Dim ws As Worksheet
    For Each ws In Worksheets
        ws.Activate
        ws.UsedRange.Select
        ActiveWindow.Zoom = True 'Zoom sur la sélection
        ActiveCell.Select
    Next ws
End Sub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接