У меня более двадцати листов в книге (файле) Excel. Есть ли какой-нибудь фрагмент кода или команда, которую я мог бы применить/использовать, чтобы все листы можно было сбросить, скажем, до уровня масштабирования 85%?
Настройка всех листов Excel на определенном уровне масштабирования
Ответы (2)
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%, и он будет применяться ко всем рабочим листам.
person
Alex P
schedule
10.05.2011
@MoritzSchmitzv.Hülst Используйте VBA
=P
- person ADTC; 13.11.2015
Хотя это решение по-прежнему требует, чтобы вы использовали
.Select
, вы можете обновить масштаб для всех листов сразу без зацикливания: /2727437
- person Marcucciboy2; 04.09.2018
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.Select
и Next ws
, которые не работают правильно, если вы не выберете рабочие листы, измените на ws.Activate
и Next
, чтобы установить масштаб для всех листов. При желании ScreenUpdating
можно отключить для книги с большим количеством листов.
person
Felipe Ribeiro
schedule
31.10.2019
Хотя этот код может помочь с вопросом, лучше включить некоторый контекст, объясняющий, как он работает и когда его использовать. Ответы только на код, как правило, менее полезны в долгосрочной перспективе. Дополнительную информацию см. в разделе Как написать хороший ответ?.
- person Klaus Gütter; 31.10.2019
Клаус спасибо за отзыв!
- person Felipe Ribeiro; 31.10.2019