Fruitsekta.ru

Мир ПК
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Справка vba excel

2.4 Работа со справкой

Разделы справки VBA, приемы нахождения нужной информации

Работа со справкой по программированию в Office не так очевидна, как может показаться на первый взгляд.

Вызов окна справки производится из редактора Visual Basic по нажатию на кнопку . Второй вариант — воспользоваться кнопкой Справка на панели инструментов Standard. В результате откроется окно, аналогичное представленному на рис. 2.2.

Рис. 2.2 Справка VBA в Excel

Еще одна возможность вызвать справку — установить указатель мыши в нужное место в окне редактора кода (например, на имя вызываемого метода или используемого свойства) и нажать на кнопку . Преимуществом такого подхода является то, что при наличии нескольких вариантов (например, объект Range и свойство Range) вам автоматически открывается нужный.

Справка по программированию в приложении Microsoft Office обычно состоит из трех частей:

  • первая часть (Microsoft Excel Visual Basic Reference, Microsoft Word Visual Basic Reference и т.п.) — это справка по объектной модели самого приложения Office;
  • вторая часть (Microsoft Visual Basic Documentation, она одинакова во всех приложениях Office) — это справка по синтаксису и встроенным функциям самого языка Visual Basic for Application;
  • третья часть (Microsoft Office Visual Basic Reference, она также одинакова во всех приложениях Office) — это справка по общим возможностям приложений Office: программная работа с панелями инструментов и меню, работа с помощником, организация взаимодействия с Windows SharePoint Services и т.п.

В некоторых приложениях (например, Microsoft Access) в справку добавлены дополнительные части (см. рис. 2.3) — по объектной модели ADO, по языку SQL и т.п.

Рис. 2.3 Справка VBA в Access

Обычно самая важная часть — это часть, которая посвящена возможностям конкретного приложения Office. Ее условно можно разделить на две главные части (см. рис. 2.4):

  • Programming Concepts (концепции программирования) — в ней рассказывается, как программным образом выполнять самые распространенные операции. Например, для Excel это возможность создать или открыть рабочую книгу, найти нужный лист, получить или записать информацию в ячейку и т.п.
  • справка по компонентам объектной модели приложения Office: коллекциям, объектам, свойствам и методам и т.п. При этом самые важные моменты, которые относятся скорее к области концепций (какими способами, например, можно создать объект Range в Excel) приводятся в справке по соответствующему объекту. Представление о всех функциональных возможностях данного объекта можно получить, только просмотрев подряд все его свойства и методы.

Рис. 2.4 Справка по компонентам объектной модели Excel

Найти направление, то есть объект и его свойства и методы, которые можно использовать в нашей ситуации, можно тремя способами:

  • просмотреть раздел Programming Concepts (концепции программирования) в справке — не описана ли там наша ситуация;
  • просто просматривать все подряд объекты, свойства и методы в справке, пытаясь догадаться, что нам может помочь. Это самый неэффективный способ, поскольку объектов в любом приложении Office сотни (часто используемых — намного меньше, и они рассмотрены в этой книге). Однако если вам предстоит в течение долгого времени заниматься программированием в каком-либо приложении Office, есть смысл потратить несколько дней, чтобы подряд читать справку по всем объектам, конспектируя самые важные моменты. Гарантируется, что вы узнаете множество таких возможностей, о которых раньше и не подозревали;
  • наиболее разумный способ — выполнить нужные вам операции в макрорекордере и потом проанализировать созданный им код. Однако, к сожалению, гарантировать то, что макрорекордер покажет вам самый эффективный путь, невозможно.

И напомним еще один момент, про которые мы уже говорили: справки по Visual Basic for Application на русском языке, к сожалению, не существует. Возможно, в какой-то степени ее сможет заменить этот сайт, в котором рассмотрено множество свойств и методов самых важных объектов приложений Office.

Несколько советов по работе с VBA в Excel


Добрый день!

Некоторое время назад меня попросили «помочь с Экселем», а потом и работа подвернулась такая, так что за последние пару месяцев я узнал много полезного, чем и хочу поделиться в догонку к недавней статье.

Предполагается, что вы знаете основы Visual Basic. Я не буду рассказывать, как создавать формы или модули, здесь только примеры кода.

Visual Basic

Опции

Во-первых, в VB массивы могут начинаться с индекса 1, что для многих странно, поэтому в начале модулей можно прописывать:

Так же рекомендуется прописать:

В этом случае интерпретатор потребует заблаговременного объявления всех переменных. Переменные объявлять нужно потому, что:
— VB запомнит их нАпиСание и не будет исправлять во всём коде на последний введенный вариант;
— иногда возникают ошибки с передачей переменных byRef, если они не объявлены (то есть надо или объявить переменную, или приписать в функции/процедуре перед ней byVal).

Ещё одним важным оператором является ON ERROR. Привожу варианты:

Возможности языка

Хотя VB довольно прост, полезно почитать документацию по его синтаксису. Я, например, с удивлением узнал, что можно прописывать сложные усолвия в SELECT’ах (аналог switch):

Читать еще:  Excel vba format функция

Ускорение работы макросов

Часто макросы требуют долгого времени выполнения, которое можно значительно сократить. В начале и в конце каждой ресурсоёмкой функции вызвать Prepare и Ended.

По порядку:
1. Отключить перерисовку объектов на экране, чтобы ничего не мигало.
2. Выключить расчет. Внимание, если макрос прерваляс посреди работы, то расчет так и останется в ручном режиме!
3. Не обрабатывать события.
4. Отображение границ страниц, тоже почему-то помогает.
5. В статусной строке выводятся различные данные, что замедляет работу, отключаем.
6. Это если нужно. Выключает сообщения Экселя. Например, мы делаем Workbook.Close, Эксель хочет спросить сохранить ли изменения. При выключении этого параметра все ответы будут даны автоматически (изменения не сохранятся).

Важно понимать, что VBA выполняет все действия так же, как и пользователь. Поэтому для того, чтобы установить параметры страницы, он каждый раз открывает и закрывает окно параметров. У меня выставлялись параметры для 10 листов, это реально не быстро. Поэтому делаем так:

Далее, часто нужно просмотреть различные диапазоны ячеек и что-то с ними сделать. Тут важно не использовать циклы for с перебором индексов, они медленные. Можно использовать встроенные функции Экселя, но удобнее всего такой вариант:
Данный код просматривает указанный диапазон, выбирает в нем «специальные ячейки», в данном случае все, в которых есть формулы (т.е. начинаются со знака равно). Для каждой ячейки смотрится, если она не закрашена, то её надо защитить (см. далее) и покрасить. Такой код работает очень быстро.

Для любых переменных, которым вы собираетесь присвоить книгу, лист, диапазон (ячейку) нужно предварительно объявить как Variant.

Естественно, что если вам нужны однотипные значения в ячейках, нужно использовать автозаполнение, всё равно как «растягивание» ячеек пользователем.

Второй диапазон должен включать первый, а второй необязательный параметр указывает тип автозаполнения.

Загрузка книги и события

При открытии книги каждый раз срабатывает процедура.
В данном случае настройки печати (поля, ориентация) сбрасываются на дефолтные. Можно и другую инициализацию выполнять. Важно, что если макросы отключены, то и не выполнится ничего. Если в Экселе вылезла вверху панелька с предупреждением о макросах и пользователь нажал «Включить», то именно в этот момент выполнится процедура Workbook_open().

Список доступных событий можно посмотреть вверху редактора VB. Например, я делал на событие Change проверку, где лежит ячейка, в которой было изменения, и если это нужный диапазон, то делалась запись в лог со старым и новым значением.

Защита

Во-первых сразу отмечу, что MS Office не исполняет макросы на компьютерах, где он не нашел антивируса, если книга зашифрована. Сталкивался на компьютерах, где антивирус был, но видимо Windows XP об этом не знала.

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

Итак, нам надо защитить книгу, чтобы ввод был разрешен только в нужные ячейки (формулы и заголовки поменять нельзя). Во-первых, нужно сделать соответствующие ячейки «не защищенными». Для этого делаем одно из:
— выделяем диапазон, формат ячеек, снять галочку «Блокировать ячейку»;
— выводим кнопку «Блокировать ячейку» в быстрый доступ и нажимаем её, очень удобно смотреть на неё чтобы понять, защищена ячейка или же нет;
— а это пригодится, чтобы проверить третий вариант — написать макрос, который снимает защиту с нужных ячеек сам.

Далее нужно защитить лист. На вкладке Рецензирование есть такая кнопка. Окошко просит ввести пароль и установить исключения (что можно будет делать пользователю). К сожалению, список исключений маловат. Самое обидное, что нельзя разрешить сворачивать/разворачивать группы столбцов/строк. Поэтому действуем так, на загрузку книги прописываем:
Знак подчеркивания продолжает логическую строку на следующей физической строке. Итак, здесь мы:
1. Сняли защиту.
2. Включили группировку.
3. Поставили защиту, при этом:
— защита только от юзера, макросы продолжают иметь полный доступ (!), крайне важно;
— разрешили сортировку, фильтрацию и форматирование строк/столбцов (высота/ширина);
— DrawingObject в данном случае снимает защиту с примечаний к ячейкам, может и ещё с чего.

Тут мы сталкиваемся с парой сюрпризов. Во-первых, не все макросы будут работать даже так. Известный баг, ничего не сделаешь. Нельзя вставить строку, например. Приходится снимать и тут же ставить защиту. Если «злоумышленник» в этот момент нажмет ctrl+break, то защита слетит.

Во-вторых, скажем никаким способом нельзя удалять строки (AllowDeletingRows), в которых есть защищенные ячейки, хоть одна. Подробнее вот тут.

Решением (костылем) является добавление кнопки или сочетания клавиш для удаления. Заодно можно проверить, чтобы пользователь не удалил чего не надо. В Workbook_open добавляем:

Теперь процедура будет вызываться при нажатии shift+delete.
Знаю, код некрасивый, простите. Здесь я пытался проверить, что выделена строка, то есть строк там 1, а ячеек не меньше тысячи. Чтобы удалить не то, придется выделить тысячу ячеек начиная не с первого столбца. Далее проверяется имя листа и номера строк. Вместо 50 был расчет последенй строки (ведь их число меняется, если мы их удаляем и добавляем).

Читать еще:  Как посчитать число строк в excel

Заключение

VBA — весьма глючная вещь, которая позволяет сворачивать горы в MS Office. Многие предприятяи используют модели на Excel годами, и если они сделаны хорошо, то всё работает.

Для изучения VBA подходит он сам, во-первых там хорошая справка. Например, чтобы узнать все варианты что можно разрешить в методе Protect, нажимаем F1, Protect, ввод. И вуаля.

Во-вторых, можно проделать требуемые действия вручную, записав макрос, а потом просмотрев его код. Код будет ужасен (например, при изменении параметров страницы, макрос запишет значения всех параметров и полей, а не только измененного вами), но ответы найдутся. Хотя, например, .AutoFit, который записывается при изменении высоты ячейки по содержимому (двойной клик на границе слева), на самом деле не работает.

Предлагаю знатокам поделиться своим опытом, дать советы в комментариях. Спасибо за внимание, удачных разработок вам.

2.4 Работа со справкой

Разделы справки VBA, приемы нахождения нужной информации

Работа со справкой по программированию в Office не так очевидна, как может показаться на первый взгляд.

Вызов окна справки производится из редактора Visual Basic по нажатию на кнопку . Второй вариант — воспользоваться кнопкой Справка на панели инструментов Standard. В результате откроется окно, аналогичное представленному на рис. 2.2.

Рис. 2.2 Справка VBA в Excel

Еще одна возможность вызвать справку — установить указатель мыши в нужное место в окне редактора кода (например, на имя вызываемого метода или используемого свойства) и нажать на кнопку . Преимуществом такого подхода является то, что при наличии нескольких вариантов (например, объект Range и свойство Range) вам автоматически открывается нужный.

Справка по программированию в приложении Microsoft Office обычно состоит из трех частей:

  • первая часть (Microsoft Excel Visual Basic Reference, Microsoft Word Visual Basic Reference и т.п.) — это справка по объектной модели самого приложения Office;
  • вторая часть (Microsoft Visual Basic Documentation, она одинакова во всех приложениях Office) — это справка по синтаксису и встроенным функциям самого языка Visual Basic for Application;
  • третья часть (Microsoft Office Visual Basic Reference, она также одинакова во всех приложениях Office) — это справка по общим возможностям приложений Office: программная работа с панелями инструментов и меню, работа с помощником, организация взаимодействия с Windows SharePoint Services и т.п.

В некоторых приложениях (например, Microsoft Access) в справку добавлены дополнительные части (см. рис. 2.3) — по объектной модели ADO, по языку SQL и т.п.

Рис. 2.3 Справка VBA в Access

Обычно самая важная часть — это часть, которая посвящена возможностям конкретного приложения Office. Ее условно можно разделить на две главные части (см. рис. 2.4):

  • Programming Concepts (концепции программирования) — в ней рассказывается, как программным образом выполнять самые распространенные операции. Например, для Excel это возможность создать или открыть рабочую книгу, найти нужный лист, получить или записать информацию в ячейку и т.п.
  • справка по компонентам объектной модели приложения Office: коллекциям, объектам, свойствам и методам и т.п. При этом самые важные моменты, которые относятся скорее к области концепций (какими способами, например, можно создать объект Range в Excel) приводятся в справке по соответствующему объекту. Представление о всех функциональных возможностях данного объекта можно получить, только просмотрев подряд все его свойства и методы.

Рис. 2.4 Справка по компонентам объектной модели Excel

Найти направление, то есть объект и его свойства и методы, которые можно использовать в нашей ситуации, можно тремя способами:

  • просмотреть раздел Programming Concepts (концепции программирования) в справке — не описана ли там наша ситуация;
  • просто просматривать все подряд объекты, свойства и методы в справке, пытаясь догадаться, что нам может помочь. Это самый неэффективный способ, поскольку объектов в любом приложении Office сотни (часто используемых — намного меньше, и они рассмотрены в этой книге). Однако если вам предстоит в течение долгого времени заниматься программированием в каком-либо приложении Office, есть смысл потратить несколько дней, чтобы подряд читать справку по всем объектам, конспектируя самые важные моменты. Гарантируется, что вы узнаете множество таких возможностей, о которых раньше и не подозревали;
  • наиболее разумный способ — выполнить нужные вам операции в макрорекордере и потом проанализировать созданный им код. Однако, к сожалению, гарантировать то, что макрорекордер покажет вам самый эффективный путь, невозможно.

И напомним еще один момент, про которые мы уже говорили: справки по Visual Basic for Application на русском языке, к сожалению, не существует. Возможно, в какой-то степени ее сможет заменить этот сайт, в котором рассмотрено множество свойств и методов самых важных объектов приложений Office.

Читать еще:  Excel если ячейка содержит число

Книги для изучения Excel и VBA

Содержание этой страницы полностью соответствует названию. Здесь я буду выкладывать книги для изучения Excel и VBA, различные справочники или ссылки на ресурсы, с которых подобные справочники и книги можно скачать. Выложенные пособия могут пригодиться не только начинающим изучать Excel и VBA, но и более продвинутым пользователям.

Справочник по функциям листа Excel — это справочник по функциям листа Excel в формате справки Windows .chm. Файл содержит полный перечень функций листа Excel на русском и английском языках и снабжена примерами использования и применения функций. Справочник может понадобиться как начинающим, так и уже более искушенным пользователям.

Формат файла: .chm

Справочник по функциям листа Excel (532,2 KiB, 15 676 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.

VBA Программирование в MSOffice — очень хороший учебник для начинающих программировать в VBA. Книга написана сертифицированным преподавателем Microsoft Office доступным для понимания языком, снабжена грамотными листингами кодов. Учебник поможет освоить программирование не только в Microsoft Excel, но и Microsoft Word и Microsoft Project.

Формат файла: .pdf

VBA Программироваие в MSOffice (4,1 MiB, 26 875 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.

Уокенбах Дж. Профессиональное программирование в VBA Excel 2003 — пожалуй самый популярный учебник для начинающих. Многие начинали именно с него. Правда, в печатной версии данного учебника использованы листинги кодов, которые не всегда нужно принимать на веру — очень часто там встречаются опечатки и вместо английских символом встречаются русские. Поэтому лично я бы посоветовал не копировать коды напрямую из книги, а переписывать их вручную в редакторе VBA. Так и запомнится лучше и избавите себя от поиска ошибок.

Формат файла: .pdf

Ссылка удалена по требованию правообладателя

Office 2007. Самоучитель — Если Вы решили поближе познакомиться с интерфейсом и основными возможностями приложений Microsoft Office, то советую почитать данную книгу. В ней описано все необходимое для успешной работы в таких приложениях как: Excel, Word, Outlook, Power Point, Access. После прочтения Вы сможете создавать красивые презентации и информативные графики, научитель создавать задачи в Outlook и базы в Access.

Формат файла: .pdf

Ссылка для скачивания: 2007_Samouchitel.zip
Пароль к архиву: 12345

Он-лайн видеообучение — Данная ссылка отличается от всех описанных выше тем, что это не книга — это он-лайн сервис. Бесплатный. На этом сайте просто огромное количество материала и по Excel, и по Word, и по Outlook, и по VBA и по другим языкам программирования. Чем удобны такие материалы: Вам рассказывают и одновременно показывают необходимые действия. Это намного лучше одной статической картинки. И я бы сравнил это с живыми курсами, с той лишь разницей, что Вы не можете задать вопрос преподавателю. Но есть и плюсы — Вы в любой момент можете остановить урок, отдохнуть, а затем продолжить обучение с того момента, на котором закончили.

Русская справка по Visual Basic for Application(VBA) — Это официальная справка по Visual Basic for Application(VBA), которая была включена в пакет Microsoft Office 97. Тогда справка была еще русифицирована. Ни для кого не секрет, что сейчас во всех версиях офиса справка по VBA доступна только на английском языке, независимо от локализации. А по буржуйски не все могут читать(даже сносно, как показывает практика).
Хочу сразу предупредить — т.к. справка предназначена для довольно старой версии, в ней описаны не все методы и свойста. Но основная их масса все же описана и, надеюсь, данная справка поможет Вам в начальном изучении VBA.

Формат файла: .файл справки

RUS_VBA.zip (1,1 MiB, 9 292 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.

Объекты Shell_RegExp и пр — целый сборник примеров работы с такими объектами как: Shell, RegExp, FileSystemObject, WshShell, Dictionary, WshNetwork, WScript, константы и функции WScript. Все примеры структурированы по разделам и сделаны в качестве справки по свойствам и методам каждого из объектов. Очень удобно, если не очень часто применяете в работе эти объекты и что-то забылось.

Формат файла: .файл справки

_Shell_RegExp__.chm (207,6 KiB, 1 516 скачиваний)

VBA First Steps — по сути это сохраненный в формате справки сайт http://www.firststeps.ru/, который собрал в себе множество приемов по работе в VBA как для начинающих его изучать, так и для более продвинутых.

Формат файла: .файл справки

VBA_First_Steps.chm (1,1 MiB, 2 552 скачиваний)

vbfunction — описание и примеры использование почти всех встроенных функций VBA в алфавитном порядке от А.Климова.

Формат файла: .файл справки

vbfunction.chm (139,3 KiB, 2 725 скачиваний)

Ссылка на основную публикацию
Adblock
detector