Excel 2018 vba: Справочник по excel Visual Basic для приложений (VBA)

Новые возможности VBA в Office 2019






Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья



В приведенных ниже таблицах указаны свежие обновления Visual Basic для приложений (VBA) для Office 2019.

Office

ИмяОписание
Перечисление MsoGraphicStyleIndex (Office)Представляет предустановленные стили графики.
Перечисление MsoShapeType (Office)Теперь включены значения mso3DModel, msoGraphic, msoLinked3DModel и msoLinkedGraphic.

Access

ИмяОписание
Объект Chart (Access)Настраиваемая визуализация данных, которые могут быть включены в отчет или форму.
Объект ChartAxis (Access)Представляет поле, значения которого будут добавлены на ось категорий диаграммы.
Объект ChartSeries (Access)Представляет ряд значений в указанной диаграмме.
Объект ChartValues (Access)Представляет поле, значения которого будут нанесены на ось значений (Y) диаграммы.
Перечисление acCommand (Access)Теперь включены значения acCmdImportAttachdBase и acCmdExportdBase.

Excel

ИмяОписание
Объект Model3DFormat (Excel)Представляет свойства фигуры трехмерной модели.
Свойство Series.GeoMappingLevel (Excel)Задает уровень географического сопоставления для указанного ряда в группе диаграмм. Чтение и запись XlGeoMappingLevel.
Свойство Series.GeoProjectionType (Excel)Указывает тип проекции географии для указанного ряда в группе диаграмм. Чтение и запись XlGeoProjectionType.
Свойство Series.RegionLabelOptions (Excel)Указывает поведение маркировки регионов для указанного ряда в группе диаграмм. Чтение и запись XlRegionLabelOptions.
Свойство Shape.GraphicStyle (Excel)Возвращает или задает msoGraphicStyleIndex , представляющий стиль графического объекта SVG. Для чтения и записи.
Свойство Shape.Model3D (Excel)Возвращает объект Model3DFormat , представляющий трехмерные свойства объекта трехмерной модели. Только для чтения.
Свойство ShapeRange.GraphicStyle (Excel)Возвращает или задает msoGraphicStyleIndex , представляющий стиль диапазона фигур, содержащего одну или несколько графики SVG. Для чтения и записи.
Свойство ShapeRange.Model3D (Excel)Возвращает объект Model3DFormat , представляющий трехмерные свойства объекта трехмерной модели. Только для чтения.
Метод Shapes.Add3DModel (Excel)Создает трехмерную модель из существующего файла. Возвращает объект Shape, представляющий новую трехмерную модель.
Перечисление Excel.XlGeoMappingLevel (Excel)Константы, передаваемые и возвращаемые свойством Series.GeoMappingLevel .
Перечисление Excel.XlGeoProjectionType (Excel)Константы, передаваемые и возвращаемые свойством Series.GeoProjectionType .
Перечисление Excel.XlRegionLabelOptions (Excel)Константы, передаваемые и возвращаемые свойством Series.RegionLabelOptions .

PowerPoint

ИмяОписание
Объект Model3DFormat (PowerPoint)Представляет свойства фигуры трехмерной модели.
Свойство Presentation.AutoSaveOn (PowerPoint)Значение True, если изменения в презентации автоматически сохраняются. Для чтения и записи, Boolean.
Свойство Shape.Decorative (PowerPoint)Задает или возвращает декоративный флаг для указанного объекта. Для чтения и записи.
Свойство Shape.GraphicStyle (PowerPoint)Возвращает или задает msoGraphicStyleIndex , представляющий стиль графического объекта SVG. Для чтения и записи.
Свойство Shape.Model3D (PowerPoint)Возвращает объект Model3DFormat , представляющий трехмерные свойства объекта трехмерной модели. Только для чтения.
Свойство ShapeRange.Decorative (PowerPoint)Задает или возвращает декоративный флаг для указанного объекта. Для чтения и записи.
Свойство ShapeRange.GraphicStyle (PowerPoint)Возвращает или задает msoGraphicStyleIndex , представляющий стиль диапазона фигур, содержащего одну или несколько графики SVG. Для чтения и записи.
Свойство ShapeRange.Model3D (PowerPoint)Возвращает объект Model3DFormat , представляющий трехмерные свойства объекта трехмерной модели. Только для чтения.
Метод Shapes.Add3DModel (PowerPoint)Создает объект Model3DFormat из существующего файла. Возвращает объект Shape, представляющий новую трехмерную модель.

Visio

ИмяОписание
Свойство Shape.AlternativeText (Visio)Возвращает или задает альтернативное текстовое описание, связанное с объектом . Для чтения и записи.
Свойство Shape.Title (Visio)Возвращает или задает альтернативный текст, связанный с объектом . Для чтения и записи.

Word

ИмяОписание
Объект Model3DFormat (Word)Представляет свойства фигуры трехмерной модели.
Свойство Shape.GraphicStyle (Word)Возвращает или задает msoGraphicStyleIndex , представляющий стиль графического объекта SVG. Для чтения и записи.
Свойство Shape.Model3D (Word)Возвращает объект Model3DFormat , представляющий трехмерные свойства объекта трехмерной модели. Только для чтения.
Свойство ShapeRange.GraphicStyle (Word)Возвращает или задает msoGraphicStyleIndex , представляющий стиль диапазона фигур, содержащего одну или несколько графики SVG. Для чтения и записи.
Свойство ShapeRange.Model3D (Word)Возвращает объект Model3DFormat , представляющий трехмерные свойства объекта трехмерной модели. Только для чтения.
Метод Shapes.Add3DModel (Word)Добавляет трехмерную модель на полотно. Возвращает объект Shape, представляющий трехмерную модель, и добавляет его в коллекцию CanvasShapes.
Перечисление WdInlineShapeType (Word)Теперь включены значения wdInlineShape3DModel и wdInlineShapeLinked3DModel.

См. также

  • Справочник по библиотеке VBA

Поддержка и обратная связь

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









Чтение и запись значения ячейки в VBA

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

Обращение к конкретной ячейке

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

Полный путь к ячейке A1 в Книге1 на Листе1 можно записать двумя вариантами:

  • С помощью Range
  • С помощью Cells

Пример 1: Обратиться к ячейке A3 находящейся в Книге1 на Листе1


Workbooks("Книга1.xls").Sheets("Лист1").Range("A3") ' Обратиться к ячейке A3
Workbooks("Книга1.xls").Sheets("Лист1").Cells(3, 1) ' Обратиться к ячейке в 3-й строке и 1-й колонке (A3)

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

Пример 2: Обратиться к ячейке A1 в текущей книге на активном листе


Range("A1")
Cells(1, 1)

Если всё же путь к книге или листу необходим, но не хочется его писать при каждом обращении к ячейкам, можно использовать конструкцию With End With. При этом, обращаясь к ячейкам, необходимо использовать в начале «.» (точку).

Пример 3: Обратиться к ячейке A1 и B1 в Книге1 на Листе2.


With Workbooks("Книга1").Sheets("Лист2")
  ' Вывести значение ячейки A1, которая находится на Листе2
  MsgBox .Range("A1")
  ' Вывести значение ячейки B1, которая находится на Листе2
  MsgBox .Range("B1")
End With

Так же, можно обратиться и к активной (выбранной в данный момент времени) ячейке.

Пример 4: Обратиться к активной ячейке на Листе3 текущей книги.


Application.ActiveCell ' полная запись
ActiveCell ' краткая запись

Чтение значения из ячейки

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

  • Value2 — базовое значение ячейки, т.е. как оно хранится в самом Excel-е. В связи с чем, например, дата будет прочтена как число от 1 до 2958466, а время будет прочитано как дробное число. Value2 — самый быстрый способ чтения значения, т.к. не происходит никаких преобразований.
  • Value — значение ячейки, приведенное к типу ячейки. Если ячейка хранит дату, будет приведено к типу Date. Если ячейка отформатирована как валюта, будет преобразована к типу Currency (в связи с чем, знаки с 5-го и далее будут усечены).
  • Text — визуальное отображение значения ячейки. Например, если ячейка, содержит дату в виде «число месяц прописью год», то Text (в отличие от Value и Value2) именно в таком виде и вернет значение. Использовать Text нужно осторожно, т.к., если, например, значение не входит в ячейку и отображается в виде «#####» то Text вернет вам не само значение, а эти самые «решетки».

По-умолчанию, если при обращении к ячейке не указывать способ чтения значения, то используется способ Value.

Пример 5: В ячейке A1 активного листа находится дата 01.03.2018. Для ячейки выбран формат «14 марта 2001 г.». Необходимо прочитать значение ячейки всеми перечисленными выше способами и отобразить в диалоговом окне.


MsgBox Cells(1, 1)        ' выведет 01.03.2018
MsgBox Cells(1, 1). Value  ' выведет 01.03.2018
MsgBox Cells(1, 1).Value2 ' выведет 43160
MsgBox Cells(1, 1).Text   ' выведет 01 марта 2018 г.

Dim d As Date
d = Cells(1, 1).Value2    ' числовое представление даты преобразуется в тип Date
MsgBox d                  ' выведет 01.03.2018

Пример 6: В ячейке С1 активного листа находится значение 123,456789. Для ячейки выбран формат «Денежный» с 3 десятичными знаками. Необходимо прочитать значение ячейки всеми перечисленными выше способами и отобразить в диалоговом окне.


MsgBox Range("C1")        ' выведет 123,4568
MsgBox Range("C1").Value  ' выведет 123,4568
MsgBox Range("C1").Value2 ' выведет 123,456789
MsgBox Range("C1").Text   ' выведет 123,457р.

Dim c As Currency
c = Range("C1").Value2    ' значение преобразуется в тип Currency
MsgBox c                  ' выведет 123,4568

Dim d As Double
d = Range("C1").Value2    ' значение преобразуется в тип Double
MsgBox d                  ' выведет 123,456789

При присвоении значения переменной или элементу массива, необходимо учитывать тип переменной. Например, если оператором Dim задан тип Integer, а в ячейке находится текст, при выполнении произойдет ошибка «Type mismatch». Как определить тип значения в ячейке, рассказано в следующей статье.

Пример 7: В ячейке B1 активного листа находится текст. Прочитать значение ячейки в переменную.


Dim s As String
Dim i As Integer
s = Range("B1").Value2 ' успех
i = Range("B1").Value2 ' ошибка

Таким образом, разница между Text, Value и Value2 в способе получения значения. Очевидно, что Value2 наиболее предпочтителен, но при преобразовании даты в текст (например, чтобы показать значение пользователю), нужно использовать функцию Format.

Запись значения в ячейку

Осуществить запись значения в ячейку можно 2 способами: с помощью Value и Value2. Использование Text для записи значения не возможно, т.к. это свойство только для чтения.

Пример 8: Записать в ячейку A1 активного листа значение 123,45


Range("A1") = 123. 45
Range("A1").Value = 123.45
Range("A1").Value2 = 123.45

Все три строки запишут в A1 одно и то же значение.

Пример 9: Записать в ячейку A2 активного листа дату 1 марта 2018 года


Cells(2, 1) = #3/1/2018#
Cells(2, 1).Value = #3/1/2018#
Cells(2, 1).Value2 = #3/1/2018#

В данном примере тоже запишется одно и то же значение в ячейку A2 активного листа.

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

Microsoft Excel 2019 VBA и макросы

НОВЫЙ ВЫПУСК

Сэкономьте 20% на Microsoft Word Step by Step. Код не требуется. Узнать больше.

9781509307210

+

Зарегистрируйте свою книгу, чтобы получить доступ к дополнительным преимуществам.

Добавить в корзину

О форматах электронных книг

Эта электронная книга включает следующие форматы, доступные на вашем
Счет
страница после покупки:

EPUB
Открытый отраслевой формат, известный своим перекомпоновываемым контентом и удобством использования на поддерживаемых мобильных устройствах.

PDF
Популярный стандарт, воспроизводящий внешний вид и расположение печатной страницы.

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

Также доступно в
другие форматы.

  • Описание

  • Образец содержимого

  • Загрузки

  • Опечатки и обновления

  • Опубликовано 18.12.2018
  • 1-е издание
  • 624 страницы
  • электронная книга 978-1-5093-0721-0

Известные эксперты Excel Билл Джелен (MrExcel) и Трейси Сирстад объясняют, как создавать более мощные, надежные и эффективные электронные таблицы Excel.

Используйте это руководство для автоматизации практически любой рутинной задачи Excel: сэкономьте часы, дни, а может быть, и недели. Заставьте Excel делать то, что вы считали невозможным, откройте для себя методы работы с макросами, которые вы не найдете больше нигде, и создавайте автоматические отчеты, которые являются удивительно мощными. Билл Джелен и Трейси Сирстад помогут вам мгновенно визуализировать информацию, чтобы сделать ее применимой к действиям; собирать данные из любого места и использовать их где угодно; и автоматизируйте лучшие новые функции в Excel 2019 и Excel в Office 365. Вы найдете простые пошаговые инструкции, практические примеры из практики и 50 книг с примерами и полными, легко адаптируемыми решениями.

Прочитав эту книгу, вы научитесь:

  • быстро осваивать разработку макросов в Excel
  • работать более эффективно с диапазонами, ячейками и формулами
  • создавать автоматические отчеты и быстро адаптировать их к новым требованиям суммировать, анализировать, исследовать и представлять данные
  • Использовать настраиваемые диалоговые окна для сбора данных от других пользователей с помощью Excel
  • Повысить надежность и отказоустойчивость ваших макросов
  • Интегрировать данные из Интернета, баз данных Access и других источников
  • Автоматическое создание диаграмм, визуализаций, спарклайнов и документов Word
  • Создание мощных решений с помощью классов, коллекций и пользовательских функций
  • Более быстрое решение сложных задач бизнес-анализа

Об этой книге

  • Для всех, кто хочет получить больше возможностей с Microsoft Excel за меньшее время
  • Для специалистов в области бизнеса и финансов, предпринимателей, студентов и других лиц, которым необходимо эффективно управлять данными и анализировать их

Содержание

Введение

  1. Раскройте потенциал Excel с помощью VBA
  2. Это звучит как BASIC, так почему же это не выглядит знакомо?
  3. Обращение к диапазонам
  4. Циклы и управление потоком
  5. Формулы в стиле R1C1
  6. Создание имен и управление ими в VBA
  7. Программирование событий
  8. Массивы
  9. Создание Классы и коллекции
  10. Пользовательские формы: введение
  11. Интеллектуальный анализ данных с расширенными возможностями Фильтр
  12. Использование VBA для создания сводных таблиц
  13. Excel Power
  14. Примеры пользовательских функций
  15. Создание диаграмм
  16. Визуализация данных и условное форматирование
  17. Инструментальная панель со спарклайнами
  18. 9003 7 Чтение и запись в Интернет

  19. Обработка текстовых файлов
  20. Автоматизация Word
  21. Использование Access в качестве серверной части для улучшения многопользовательского доступа к данным
  22. Расширенные методы создания пользовательских форм
  23. Интерфейс прикладного программирования Windows (API)
  24. Обработка ошибок
  25. Настройка ленты для запуска макросов
  26. Создание надстроек
  27. Введение в создание надстроек Office
  28. Что нового в Excel 2019 и что изменилось

Загрузки

Следуйте инструкциям, чтобы загрузить это образцы файлов книги.

  1. Нажмите кнопку Загрузить ниже, чтобы начать загрузку.
  2. При появлении запроса нажмите Сохранить.
  3. Найдите ZIP-файл на своем компьютере. Щелкните файл правой кнопкой мыши, выберите «Извлечь все» и следуйте инструкциям.

Загрузить

Если вы обнаружите ошибку, вы можете сообщить нам об этом через нашу страницу отправки исправлений.

Другие названия, которые могут вам понравиться

VBA и макросы для Microsoft Excel 2016 — Продукты MrExcel


ноябрь 2015

Если вы хорошо владеете Excel, но никогда не использовали VBA, эта книга поднимет вам кривую обучения VBA.


Билл Джелен, Трейси Сирстад

категория: VBA, программирование

охватывает: Microsoft 365, Excel 2016


  • 640 страниц
  • Издатель: Que Publishing
  • ISBN: 978-7897-5585-8

Используйте это руководство, чтобы автоматизировать практически любую рутинную задачу: сэкономьте часы, дни, а может быть, и недели! Заставьте Excel делать то, что вы считали невозможным, откройте для себя методы работы с макросами, которые вы не найдете больше нигде, и создавайте автоматические отчеты, которые являются удивительно мощными. Билл Джелен и Трейси Сирстад помогают вам мгновенно визуализировать информацию, чтобы вы могли с ней работать… собирать данные из любого места и использовать их где угодно… автоматизировать лучшие новые функции Excel 2016.

О библиотеке MrExcel

Каждая книга в библиотеке MrExcel определяет определенный набор важнейших задач Excel и представляет конкретные навыки и примеры для их быстрого и эффективного выполнения. Эти книги были выбраны Биллом Джеленом, Microsoft Excel MVP и идейным вдохновителем ведущего веб-сайта решений Excel MrExcel.com.

  • Значительное повышение производительности — экономия 50 и более часов в год
  • Представление проверенных творческих стратегий решения реальных проблем
  • Покажет, как добиться отличных результатов независимо от того, сколько у вас данных
  • Поможет избежать критических ошибок, которые допускают даже опытные пользователи
  • Введение
  • Раскройте потенциал Excel с помощью VBA
  • Звучит как БАЗОВЫЙ, так почему же он не выглядит знакомым?
  • Ссылаясь на диапазоны
  • Зацикливание и управление потоком
  • Формулы R1C1 в стиле
  • Создание имен и управление ими в VBA
  • Программирование событий
  • Массивы
  • Создание классов, записей и коллекций
  • Пользовательские формы[md]Введение
  • Интеллектуальный анализ данных с расширенным фильтром
  • Использование VBA для создания сводных таблиц
  • Макросы Excel Power-Sample
  • Пример пользовательских функций
  • Создание диаграмм
  • Визуализация данных и условное форматирование
  • Инструментальная панель со спарклайнами
  • Чтение и запись в Интернет
  • Обработка текстовых файлов
  • Автоматизация Word
  • Использование Access в качестве серверной части для улучшения многопользовательского доступа к данным
  • Расширенные методы создания пользовательских форм
  • Интерфейс прикладного программирования Windows (API)
  • Обработка ошибок
  • Настройка ленты для запуска макросов
  • Создание надстроек
  • Создание приложений с помощью сценария Java
  • Новые возможности Excel 2016 и изменения

VBA на Mac

В разделе VBA и макросы для Microsoft Excel мы упомянули, что опубликуем список ошибок, на которые следует обратить внимание при использовании VBA на Mac. Вот список:

  • Application.ScreenUpdating не работает
  • Usersform — не рекомендуется использовать большие метки. У нас нет контроля над шрифтами, поэтому это может вызвать проблемы. На самом деле, чем больше мы сможем избежать пользовательских форм, тем лучше.
  • Элементы управления ActiveX — не работают; должны использовать элементы управления формой.
  • Нет DLL. Это означает, что если вы хотите, чтобы пользователь искал файл, вы должны сделать это трудным путем.
  • Функции: некоторые функции VB могут быть недоступны, например, Разделить, Заменить.
  • Файлы базы данных: не разрешено
  • Лучшее правило: программа, как будто у пользователя есть Excel 97
  • Дополнительные предложения: http://www.rondebruin.nl/mac.htm#FileFormat

Где купить

Электронная книга / Распечатанная книга от InformIT

Купить »

Распечатать книгу от Amazon.

Купить »


Другие выпуски


VBA и макросы для Microsoft Excel 2007
>

Август 2007 г.

Являясь макроязыком для Microsoft Excel, Visual Basic для приложений позволяет добиться невероятной эффективности повседневного использования Excel. Прекратите создавать эти ручные отчеты! Решение состоит в том, чтобы автоматизировать эти ручные процессы в Excel с помощью Visual Basic для приложений (VBA). Каждая копия Excel, поставляемая с 1993 года, включает VBA, скрывающийся за ячейками рабочего листа.


VBA и макросы для Microsoft Excel
>

Май 2004 г.

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


Microsoft Excel 2019 VBA и макросы
>

ноябрь 2018 г.

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


VBA и макросы: Microsoft Excel 2010
>

Июль 2010 г.

Используя функции сценариев VBA Microsoft Excel 2010, пользователи Excel могут экономить десятки и даже сотни часов в год. Но большинство пользователей Excel никогда не писали сценарии VBA: многие даже не использовали встроенный в Excel рекордер макросов. VBA и макросы — это решение. Шаг за шагом два ведущих эксперта по сценариям Excel VBA обучают всем методам, необходимым для автоматизации практически любой задачи Excel и настройки практически любого отчета Excel или бизнес-решения.


VBA и макросы Microsoft Excel 2013
>

Февраль 2013 г.