В других выпусках ExcelTips вы узнаете об использовании инструмента «Камера» для захвата динамических изображений различных частей рабочего листа. Возможно, вам было интересно, как использовать такую ​​же функцию из VBA.

Документация по проблеме не очень ясна, но следующий макрос показывает общий процесс:

Sub DoCamera()

Dim MyPrompt As String     Dim MyTitle As String     Dim UserRange As Range     Dim OutputRange As Range

Application.ScreenUpdating = True

'Prompt user for range to capture     MyPrompt = "Select the range you would like to capture."

MyTitle = "User Input Required"

On Error Resume Next     Set UserRange = Application.InputBox(Prompt:=MyPrompt, _         Title:=MyTitle, Default:=ActiveCell.Address, Type:=8)

If UserRange Is Nothing Then End     On Error GoTo 0

'Copy range to Clipboard as picture     UserRange.CopyPicture

'Prompt user for range to paste to     MyPrompt = "Select the range on which you would like to paste."

MyTitle = "User Input Required"

On Error Resume Next     Set OutputRange = Application.InputBox(Prompt:=MyPrompt, _         Title:=MyTitle, Default:=ActiveCell.Address, Type:=8)

If OutputRange Is Nothing Then End     On Error GoTo 0

'Paste picture to output range     OutputRange.PasteSpecial     Selection.Formula = UserRange.Address End Sub

Этот макрос предлагает указать диапазон для копирования, затем копирует его в буфер обмена в виде изображения и предлагает указать, куда его вставить.

При вставке последняя строка макроса является ключом к созданию динамической «фотографии», как это делается вручную с помощью инструмента «Камера». Команда PasteSpecial фактически вставляет изображение, а вставленное изображение остается выделенным. Установка свойства Formula для выделения (изображения) приводит к динамическому характеру изображения.

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

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

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

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

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

link: / excel-Using_the_Camera_in_VBA [Использование камеры в VBA].