Брайан спросил, есть ли в Excel способ увеличить содержимое текущей ячейки. Он работает над листом, который должен быть с низким масштабом (30% или около того), чтобы увидеть весь лист. По мере выполнения различных сценариев ячейки меняют цвет в зависимости от результата. Брайан может легко увидеть, какие ячейки ему нужно исследовать, но он не может их прочитать из-за настройки масштабирования. Обычно он меняет масштаб, читает ответ и уменьшает масштаб, чтобы запустить другой сценарий. Было бы намного проще, если бы только текущая ячейка (выбранная) была увеличена до читаемого уровня.

В Excel нет встроенного метода для выполнения этого выборочного метода масштабирования, но есть несколько обходных путей, которые вы можете использовать. Одним из таких обходных путей является использование макроса, который отображает значение в активной ячейке в окне сообщения. Такой макрос легко добавить в модуль рабочего листа:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox ActiveCell.Address & ": " & ActiveCell.Value End Sub

Каждый раз, когда вы выбираете другую ячейку на листе, макрос открывает окно сообщения, в котором отображается содержимое этой ячейки. Это решает проблему, но может утомить постоянное закрытие окон сообщений каждый раз, когда вы меняете выбранную ячейку.

Вы также можете создать макрос, который просто изменяет размер шрифта любой выбранной ячейки. Следующий простой макрос, добавленный в модуль рабочего листа, просматривает текущую выбранную ячейку и увеличивает размер ее шрифта на 500%.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

FontSize = ActiveCell.Font.Size     LargeSize = FontSize * 5     Cells.Font.Size = FontSize     ActiveCell.Font.Size = LargeSize End Sub

Полезность такого макроса, конечно, будет зависеть от того, как вы отформатировали высоту и ширину выбранной ячейки. Если это статические значения высоты и ширины, возможно, увеличение размера шрифта сделает содержимое ячейки нечитаемым. Если высота и ширина являются динамическими, содержимое должно быть достаточно читабельным.

Еще один подход — создать собственное увеличенное изображение каждой выбранной ячейки:

Private Sub ZoomCell(ZoomIn As Single)

Dim s As Range     Set s = Selection

'Get rid of any existing zoom pictures     For Each p In ActiveSheet.Pictures         If p.Name = "ZoomCell" Then             p.Delete             Exit For         End If     Next

'Create a zoom picture     s.CopyPicture Appearance:=xlScreen, _       Format:=xlPicture     ActiveSheet.Pictures.Paste.Select     With Selection         .Name = "ZoomCell"

With .ShapeRange             .ScaleWidth ZoomIn, msoFalse, _               msoScaleFromTopLeft             .ScaleHeight ZoomIn, msoFalse, _               msoScaleFromTopLeft             With .Fill                 .ForeColor.SchemeColor = 9                 .Visible = msoTrue                 .Solid             End With         End With     End With     s.Select     Set s = Nothing End Sub

Чтобы использовать макрос, вам необходимо вызывать его каждый раз, когда выбор на листе изменяется. Для этого вы добавляете в модуль рабочего листа небольшой макрос:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ZoomCell 6 End Sub

В этом случае каждый раз, когда выбор ячейки изменяется, запускается макрос ZoomCell для создания изображения, которое в шесть раз превышает размер оригинала. Если утомляет автоматическое изменение изображения каждый раз, когда вы выбираете другую ячейку, вы можете отказаться от макроса триггера в модуле рабочего листа и изменить макрос ZoomCell, чтобы он запускался всякий раз, когда вы его запускаете, возможно, с помощью сочетания клавиш вы настроили.

Sub ZoomCell()

Dim s As Range     Dim ZoomIn As Single     Set s = Selection     ZoomIn = 6

'Get rid of any existing zoom pictures     For Each p In ActiveSheet.Pictures         If p.Name = "ZoomCell" Then             p.Delete             Exit For         End If     Next

'Create a zoom picture     s.CopyPicture Appearance:=xlScreen, _       Format:=xlPicture     ActiveSheet.Pictures.Paste.Select     With Selection         .Name = "ZoomCell"

With .ShapeRange             .ScaleWidth ZoomIn, msoFalse, _               msoScaleFromTopLeft             .ScaleHeight ZoomIn, msoFalse, _               msoScaleFromTopLeft             With .Fill                 .ForeColor.SchemeColor = 9                 .Visible = msoTrue                 .Solid             End With         End With     End With     s.Select     Set s = Nothing End Sub

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (10426) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Magnifying_Only_the_Current_Cell [Увеличение только текущей ячейки].