Простой Excel VBA – изменить масштаб страницы до значения по умолчанию

Текущий макрос

Private Sub Worksheet_SelectionChange If Target.Address = "$C$11" Then ActiveWindow.Zoom = 120 Else ActiveWindow.Zoom = 55 End If End Sub 

желаемый макрос

Нажмите на ячейку C11, увеличьте масштаб до 120, иначе масштабирование должно быть любым, на котором установлен лист. Я использую 55, но кто-то еще может использовать 75, и я не хочу, чтобы мой макрос остановил это. Идеи?

Вы можете попробовать этот код:

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static zoomLevel As Integer 'Ensure zoomLevel is set If zoomLevel = 0 Then zoomLevel = ActiveWindow.Zoom End If 'If cell C11 is selected, zoom on If Target.Address = "$C$11" Then zoomLevel = ActiveWindow.Zoom ActiveWindow.Zoom = 120 Else 'If any other cell is selected zoom to the user's zoomLevel ActiveWindow.Zoom = zoomLevel End If End Sub 

Использование Static позволяет переменной сохранять свое значение после завершения выполнения подпрограммы.

Interesting Posts

Выбирать case Statement не следует за значением целочисленной переменной

VBA – получение имени метки в событии mousemove

VBA превосходит трансляцию многих строк на столбцы разного размера

Powershell, Экспорт файла xls

Что возвращает «ничего» из Excel.Range.find в c #

Динамический поиск и фильтрация в Excel

Автоматизация Excel для бизнес-решений и обработка на стороне сервера

Передача имени подфункции в качестве аргумента в функции

Вставить лист excel в пользовательский элемент управления C #

SUM все значения, смежные значения которых не указаны в других столбцах

Как получить таблицу электронной почты Perl :: WriteExcel для создания формул с помощью VLOOKUP?

Преобразование нескольких ячеек столбца в одну ячейку в Microsoft Excel

Как пропустить некоторые строки кода на основе того, была ли я выбрана ячейка в Row3 или нет?

Как сохранить конечные пробелы в строке при ее печати на ячейку?

Ошибка VLOOKUP в Excel #NA

Давайте будем гением компьютера.