Использование камеры в VBA (Microsoft Excel)
В других выпусках 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]
.