как в excel посмотреть код vba
Автоматизация задач с помощью средства записи макросов — Excel
Для автоматизации повторяющихся задач в Microsoft Excel можно быстро записать макрос. Предположим, у вас есть даты в различном формате и вы хотите применить ко всем из них один формат. Это можно сделать с помощью макроса. Вы можете записать макрос, который применяет нужный формат, а затем запускать его при необходимости.
При записи макроса все действия в записи макроса записываются Visual Basic для приложений (VBA) коде. Эти действия могут включать ввод текста или чисел, выбор ячеек или команд на ленте или в меню, форматирование ячеек, строк или столбцов или даже импорт данных из внешнего источника, скажем, Microsoft Access. Visual Basic Приложение (VBA) — это подмножество мощного Visual Basic программирования, которое входит в большинство Office приложений. Хотя VBA позволяет автоматизировать процессы как в приложениях, так и между Office, необязательно знать код VBA или программирование на компьютере, если оно делает то, что вам нужно.
Важно знать, что при записи макроса регистрируются почти все ваши действия. Поэтому если вы допустите ошибку, например нажмете не ту кнопку, средство записи макросов зарегистрирует это действие. В таком случае можно снова записать всю последовательность или изменить код VBA. Поэтому перед записью процесса следует хорошо проработать его. Чем точнее вы запишете последовательность, тем более эффективно будет работать макрос.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
Запись макроса
Перед записью макросов полезно знать следующее:
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Чтобы записать макрос, следуйте инструкциям ниже.
На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш с CTRL+ SHIFT, так как они будут заменять собой совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос. Например, если назначить сочетание клавиш CTRL+Z (Отменить), вы не сможете использовать его для функции «Отменить» в данном экземпляре Excel.
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Кроме того, желательно ввести понятное описание, которое будет полезно вам и всем, кто запускает макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке Разработчик в группе Код нажмите кнопку Остановить запись .
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. Кроме того, можно нажать клавиши ALT+F8. При этом откроется диалоговое окно Макрос.
Внимание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Сведения о параметрах безопасности макросов и их значении.
Макросы можно запускать различными способами, например с помощью сочетания клавиш, графического объекта, панели быстрого доступа, кнопки или даже при открытии книги.
С помощью редактора Visual Basic можно изменять макросы, присоединенные к книге.
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic.
Назначение макроса объекту, фигуре или графическому элементу
Щелкните правой кнопкой мыши объект, рисунок, фигуру или элемент, которому вы хотите назначить существующий макрос, и выберите пункт Назначить макрос.
В поле Назначить макроса выберите макрос, который вы хотите назначить.
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту.
Вы можете назначать макросы формам и элементам ActiveX на листе.
Узнайте, как включать и отключать макросы в файлах Office.
Открытие редактора Visual Basic
Нажмите клавиши ALT+F11.
Узнайте, как найти справку по элементам Visual Basic.
Работа с записанным кодом в редакторе Visual Basic (VBE)
С помощью редактора Visual Basic (VBE) вы можете добавлять в записанный код собственные переменные, управляющие структуры и другие элементы, которые не поддерживает средство записи макросов. Так как средство записи макросов фиксирует почти каждый шаг, выполняемый во время записи, может также потребоваться удалить ненужный код. Просмотр записанного кода — отличный способ научиться программировать на VBA или отточить свои навыки.
Пример изменения записанного кода можно найти в статье Начало работы с VBA в Excel.
Запись макроса
Перед записью макросов полезно знать следующее:
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее.
Перейдите в Excel > параметры. > ленты & панель инструментов.
В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.
Чтобы записать макрос, следуйте инструкциям ниже.
На вкладке Разработчик нажмите кнопку Запись макроса.
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в расположении Эта книга, но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите Личная книга макроса. При выборе личнойкниги макроса Excel создает скрытую личную книгу макроса (PERSONAL.XLSB), если она еще не существует, и сохраняет макрос в этой книге. Книги в этой папке открываются автоматически при Excel, и любой код, сохраненный в личной книге макроса, будет указан в диалоговом окну Макрос, которое объясняется в следующем разделе.
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш, которые еще не назначены другим командам, так как они будут переопределять совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос.
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Полезно ввести содержательное описание со всеми сведениями, которые могут быть полезны вам или другим пользователям, которые будут запускать макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке Разработчик щелкните Остановить запись.
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. При этом откроется диалоговое окно Макрос.
Примечание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Узнайте, как включать и отключать макросы в Excel для Mac.
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic.
Назначение макроса объекту, фигуре или графическому элементу
Щелкните правой кнопкой мыши объект, рисунок, фигуру или элемент, которому вы хотите назначить существующий макрос, и выберите пункт Назначить макрос.
В поле Назначить макроса выберите макрос, который вы хотите назначить.
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту.
Вы можете назначать макросы формам и элементам ActiveX на листе.
Открытие редактора Visual Basic
На вкладке Разработчик щелкните Visual Basic или выберите Сервис > Макрос > Редактор Visual Basic.
Узнайте, как найти справку по элементам Visual Basic.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Table of Contents:
Макросы являются мощной функцией в Microsoft Excel и позволяют программно управлять несколькими функциями Excel. Приложения, которые могут занимать сотни ячеек вычислений, могут быть выполнены с помощью нескольких строк макрокоманды. Однако макросы также представляют серьезную угрозу безопасности: макровирусы все еще распространяются вместе с зараженными книгами Excel, и большинство пользователей Excel недостаточно знают о макросах, чтобы найти и удалить их.
кредит: Сири Стаффорд / Digital Vision / Getty Images
Поиск макросов с помощью инструментов макросов в Excel
Шаг 1
Откройте Excel нормально.
Шаг 2
Нажмите на вкладку «Разработчик».
Шаг 3
Нажмите на кнопку с надписью «Макросы». Откроется диалоговое окно. Диалоговое окно будет иметь все макросы, доступные во всех открытых книгах. Вы можете выбрать «Макросы» и удалить их.
Поиск макросов с помощью редактора Visual Basic
Шаг 1
Откройте Excel нормально.
Шаг 2
Нажмите на вкладку «Разработчик».
Шаг 3
Нажмите на кнопку с надписью «Visual Basic». Откроется редактор Visual Basic. На левой панели будет список всех макросов, загруженных Excel; это будет включать макросы, которые скрыты в диалоговом окне «Макросы». Вы можете выбрать «Макросы» и удалить их по отдельности или просмотреть их код.
Как прикрепить документ PDF к электронной таблице Excel
Как найти скрытые учетные записи электронной почты на компьютере
Как найти скрытые адреса электронной почты
Большую часть времени скрытые адреса электронной почты скрыты по причине. В зависимости от типа скрытого адреса, его можно найти с помощью простого электронного письма. Ты сможешь.
Google таблицы.Как создавать макросы и делать кнопки. Урок 9. (Октябрь 2021).
Код VBA
Код Excel VBA
Код VBA можно определить как код, который вводится в окне Visual Basic для выполнения набора инструкций или действий в Excel и предоставления результатов. С помощью кода VBA мы можем сократить время на выполнение повторяющейся задачи, не требуется большого вмешательства человека, кроме как для запуска программы. Теперь мы увидим, как открыть окно Visual Basic, как написать в нем код, как запустить и как его сохранить.
Как открыть окно Visual Basic?
Если вы хотите написать код Visual Basic, мы должны написать его в окне Visual Basic. Вопрос здесь в том, где находится окно Visual Basic в Excel и как его открыть. Ответ заключается в выборе меню « Разработчик» и в меню разработчика выберите « Visual Basic», как показано на рисунке ниже.
Который откроет пустое окно, как показано ниже.
Легко и круто выглядит правильно. Но если Excel не имеет вкладки разработчика. Нам нужно добавить вкладку разработчика с помощью следующих шагов.
Шаг 2: Появится раскрывающийся список, нажмите на вкладку « Параметры ».
Шаг 4: Когда мы перетаскиваем параметры настройки ленты, мы находим параметр для разработчика (Custom), нам нужно установить этот флажок, который позволит нам использовать VBA в Excel.
Где написать код в Excel VBA?
Если мы добавим несколько листов в нашу книгу, это позволит использовать разные модули листов.
Код модуля листа: независимо от того, какой код события мы напишем в модуле листа, он будет применяться только к этому листу.
Вы можете быть в замешательстве, что такое код события. VBA поставляется с несколькими событиями, показанными на скриншоте выше, такими как изменение, деактивация и многое другое. Всякий раз, когда это событие произошло, макрос будет запускаться.
Модуль ThisWorkbook
Какой бы код не был написан в этом модуле, он будет применяться ко всем листам в рабочей книге. Предположим, что если мы напишем код события для рабочей книги, то всякий раз, когда это событие происходит на каком-либо из листов рабочей книги, будет выполняться макрос. Предположим, что если мы напишем событие для «Новый лист», то всякий раз, когда мы создаем новый лист, для этой книги будет запускаться макрос.
Модуль: Обычно мы будем писать код в модулях на VBA. Нам нужно вставить модуль, щелкнув по меню «Вставка» и выбрав опцию модуля, чтобы вставить модуль.
Точно так же мы можем вставить модуль класса и форму пользователя также. Это модули, в которые мы можем написать наш код. В зависимости от типа требования мы должны выбрать модуль и написать в нем код.
Примеры написания и запуска кода в Excel VBA
Ниже приведены различные примеры написания и запуска кода с использованием кода VBA в Excel.
Теперь мы увидим пример макрокода с использованием обычного модуля. Когда мы вставим новый модуль, пустое окно будет выглядеть так, как показано ниже.
Выполните следующие шаги, чтобы написать код в Excel VBA.
Шаг 1: Любая программа в VBA начинается с дополнительного ключевого слова и имени программы с открытыми и закрытыми скобками, как показано ниже. Когда мы введем после скобок автоматически появится «End Sub».
Шаг 2: между ними мы должны написать наш код.
Шаг 3: Мы можем запустить код, нажав F5 или щелкнув по кнопке запуска вверху, которая отмечена черным цветом.
Шаг 4: Как только мы нажмем на запуск, всплывающее окно попросит выполнить запуск, как показано ниже. Если доступно несколько макросов, необходимо выбрать правильный макрос и нажать кнопку запуска.
Шаг 5: перейдите в Excel и проверьте, появляются ли результаты, как показано ниже.
Если мы хотим запустить макрос из самого листа с помощью фигуры, мы можем это сделать. Выполните следующие шаги, чтобы назначить макрос фигурам.
Шаг 1: Перейдите на «Вставка» и выберите фигуру по вашему желанию.
Шаг 2: После выбора формы нарисуйте это на своем рабочем листе.
Шаг 3: Теперь мы можем написать текст, например, «нажмите здесь» или «запустить макрос» в этой форме. Для добавления текста просто щелкните правой кнопкой мыши на фигуре и выберите Редактировать текст
Шаг 4: Добавьте слово согласно вашему желанию. Я добавил слово « Run Macro ».
Шаг 5: Теперь нам нужно назначить макрос для этой фигуры, для этого выберите фигуру, щелкните правой кнопкой мыши и выберите « Назначить макрос ».
Шаг 6: появится всплывающее окно с запросом выбора макроса. Выберите имя макроса и нажмите кнопку ОК.
Шаг 7: Теперь, если мы нажмем на форму, макрос запустится и выдаст результат, как показано ниже.
Как сохранить макрокоманду?
Мы все знаем, как сохранить рабочую книгу. Сохранение макроса также не изменилось, но есть одно небольшое изменение. У нас есть два разных способа сохранить наши макро-файлы.
Когда вы сохраняете книгу, нам нужно выбрать тип файла из списка параметров типа файла, как показано ниже.
По умолчанию мы можем использовать « книгу с макросами Excel ». В случае, если вы хотите использовать в качестве стандартного файла в качестве отправной точки для других файлов, используйте формат «Шаблон макросов Excel».
То, что нужно запомнить
Рекомендуемые статьи
Это руководство по VBA Code в Excel. Здесь мы узнаем, как копировать, вставлять и запускать код VBA в Excel вместе с простыми и практичными примерами. Ниже приведены несколько полезных статей о Excel, связанных с VBA.
Приёмы отладки VBA-кода (на примере MS Excel)
Многие из тех, кто часто работает в MS Excel, используют книги или надстройки с VBA-макросами. Зачастую требуется доработать существующее решение, добавив новую функциональность или исправив найденный баг. В поисках места, где скрывается баг или производится нужное вычисление, можно провести немало времени, особенно если проект содержит десятки тысяч строк кода (увы, такие макросы иногда встречаются). Можно прибегнуть к текстовому поиску (например по тексту сообщения, вшитому в код), но иногда удобнее запустить макрос и прибегнуть к пошаговой отладке.
В этом посте описаны несколько приёмов, которые могут быть полезны при отладке макросов на VBA в приложениях MS Office на примере MS Excel.
1. Стандартные точки останова (breakpoint). Step-into, step-over
2. Окна Immediate («REPL-терминал»), Locals (локальные переменные), Watches (наблюдатели)
3. Условные точки останова на базе watch expression
4. Обработка ошибок
появится такая отметка (можно установить и кликом мышью по области слева, где красный кружок):
Теперь как только поток исполнения доберётся до этой строки, он будет приостановлен, а Вы увидите желтый указатель, указывающий на следующую инструкцию:
Многие не знают, что этот указатель можно перемещать на любой statement в пределах функции, просто перетащив мышью желтую стрелку!
Когда Вы приостановили исполнение кода, можете продолжить его исполнение пошагово, с помощью команд step-into, step-over и step-out:
Теперь немного о том, как узнать значения переменных и иную полезную информацию.
2. В нижней части экрана VBE (Visual basic editor) Вы можете увидеть три окна:
* Immediate (терминал для выполнения кода и вывода текстовой информации)
* Locals (локальные переменные)
Если Вы не видите эти окна, включите их отображение в меню View
Разберём подробнее, какие возможности открывают нам эти инструменты.
Окно Locals позволяет увидеть значения переменных, доступных в текущем контексте:
Выделите выражение и выполните команду Add watch. в контекстном меню (доступном с помощью правой кнопки мыши), или введите нужно выражение вручную в окне добавления наблюдателя:
Осторожно: выражение d.Item(«key1») при вычислении может добавить элемент к словарю, если такой ключ в словаре отсутствует. Поэтому не забудьте удалить наблюдатель, когда он станет ненужным, иначе в дальнейшем можно провести немало времени, выясняя откуда взялся лишний элемент в словаре.
3. Условные точки останова, которые можно реализовать с помощью наблюдателей.
4. Напоследок хотел бы немного рассказать об обработке ошибок в VBA.
Break on All Errors
Break in Class Module
Break on Unhandled Errors
Указанные опции обработки ошибок устанавливаются на уровне настроек пользователя, и не сохраняются в VBA-проекте.
Надеюсь, что эта статья окажется полезной как начинающим пользователям VBA, так и бывалым разработчикам, которые смогут узнать что-то новое.
В свободное время я пилю надстройку общего назначения для MS Excel на платформе VSTO. Проект доступен на гитхабе под лицензией MIT (можете свободно использовать в своих проектах, форкать и изменять под свои нужды):
Это мой первый пост на Пикабу, буду рад конструктивной критике в комментариях и ЛС.
Найдены возможные дубликаты
MS, Libreoffice & Google docs
448 постов 12.5K подписчиков
Правила сообщества
2. Публиковать посты соответствующие тематике сообщества
3. Проявлять уважение к пользователям
4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.
По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях
Dim ws as Worksheet
Set ws = ActiveWorkbook.Worksheets(0)
и дальше обращаться уже через него: ws.Cells
Это позволит избежать ошибок, если в ходе работы макроса другая книга или лист станут активными.
Спасибо за теплые слова!) В следующем посте хочу опубликовать туториал по созданию VBA-надстройки с кастомной панелью инструментов (Ribbon custom UI). Помню, в своё время когда делал, пришлось по крупицам собирать в интернете информацию
с удовольствием читаю посты про EXCEL, люблю в нём работать и что-то новое узнавать. а куда бы написать вопрос с помощью по экселю, если, конечно, не трубно помочь
Пишите тут, если вопрос не слишком большой для комментариев. Может быть, будет полезен и остальным.
ок, суть такова: работаю в офисной базе, делаю отчёт по прибыли по всем клиентам, к примеру, копирую таблицу с результатами в эксель, хочу сделать сортировку по убыванию прибыли, но цифры сортируются неправильно, от девятки к единице, а должно быть от большего числа к меньшему, я подозреваю, что в таблице суммы содержат ненужные пробелы, поэтому и не происходит правильная сортировка, но корректировать 500-800 строк это муторно, пробовал менять формат таблицы на разные значения, не помогает. есть ли какой способ быстро отформатировать таблицу для правильной сортировки? для примера прикладываю как сейчас эксель делает сортировку
Действительно, зеленые флажки в каждой ячейке указывают на то, что данные отформатированы как текст.
Первый вариант, ручной. Выделить нужный диапазон или столбец (чтобы не затронуть остальные данные на листе), Ctrl-H (найти и заменить), и заменить все пробелы на «ничего» (оставить второе окно пустым). В зависимости от региональных настроек на Вашем компьютере, также может понадобиться заменить запятые на точки (смотря какой десятичный разделитель).
https://github.com/navferty/NavfertyExcelAddIn
Там среди прочих функций есть и парсинг чисел из текстового формата.
PS А если есть желание, можно присоединиться и в качестве добровольца-разработчика. Проект открытый, под лицензией MIT
А я до сих пор пишу программы на VB ’98 и мне не стыдно.
Полезные советы, спасибо
Кто шарит, есть что-нибудь лучше, чем закладки в документе OOXML для работы с ним программно?
Да, то, что нужно правильно понял. Только это нужно реализовать в таблице docx (Word) файла. Суть в том, что есть пул значений. В ячейке таблицы может быть значений не более, чем в пуле (уникальны на уровне ячейки таблицы). Количество определяет юзер (хз как сделать удобно) и значения юзер должен выбирать из выпадашки, которая фильтрует доступные значения на основе того, что уже было выбрано. Вопрос уже не актуален, потому что отдельной приблудой реализовываю, но все равно интересно. Чуть-чуть.
Честно говоря, у меня мало опыта вызова процедур из VBA, но могу предположить, что как-то примерно так:
2. Налить в него вискаря
4. Повторять п. 2-3 до просветления
А вы батенька знаете толк в извращениях!
Макросы. Изучаем редактор VBE. Академия Excel
Давайте разбираться где происходит написание макросов? В Excel существует встроенный редактор Visual Basic Editor (VBE), в котором собственно и происходит создание макросов с нуля, редактирование существующий, удаление ненужных.
Посмотрев урок, Вы научитесь настраивать редактор под себя, познакомитесь с новым понятием Модуль (узнаете основные операции с ними).
Для начала, что такое SNMP: практически любое устройство, имеющее сетевой интерфейс, умеет в этот протокол, который позволяет удалённой стороне получить набор метрик работы этого устройства и управлять им. В данном случае из всех тысяч параметров меня интересует счётчик распечатанных и отсканированных страниц.
Если в двух словах: отправляем принтеру команду с определённым идентификатором, получаем ответ.
На получение результата может уйти несколько минут.
Далее остаётся скопировать результат в блокнот (увы, поиск в SnmpB не работает) и найти текстовое значение счётчика, которое нужно предварительно подсмотреть либо через веб-интерфейс принтера, либо ещё как.
Дальше скучно: берём VBA, пишем
On Error Resume Next
Set o = CreateObject(«OlePrn.OleSNMP»)
o.Open IPaddress, «public», 2, 1000
Name = o.get(«.1.3.6.1.2.1.25.3.2.1.3.1»)
TotalPrintCounter = o.get(«.1.3.6.1.4.1.1347.43.10.1.1.12.1.1»)
TotalScanCounter = o.get(«.1.3.6.1.4.1.1347.46.10.1.1.5.3»)
o.Close
On Error GoTo 0