Вопросы для собеседования по vba
1. Что означает VBA?
VBA означает Visual Basic for Application, язык программирования, который помогает автоматизировать практически любую деятельность в Excel.
2. Какой язык использует VBA?
VBA — это объектно-ориентированный язык, в котором вы сначала определяете объект, а затем определяете действие, которое хотите выполнить. Например, если вы хотите выбрать диапазон, вы должны сначала определить диапазон, а затем метод его выбора.

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

Каждый из этих объектов дополнительно имеет свойства и методы, которые можно использовать для выполнения действий.
5. Как активировать вкладку разработчика?
Прежде чем получить доступ к редактору Visual Basic и другим параметрам, необходимо включить вкладку «Разработчик», выполнив следующие действия.

- Вкладка «Файл» → «Параметры» → «Настроить ленту».
- Установите флажок разработчика.
- Нажмите ОК.
6. Как использовать редактор Visual Basic?
После включения вкладки разработчика вы сможете получить доступ к редактору визуальной базы оттуда.

Когда вы нажимаете кнопку «Visual Basic», вы получаете окно Visual Basic, которое открывается отдельно.

Вот полное руководство , которое поможет вам понять, как использовать редактор Visual Basic для написания кодов VBA.
7. Где можно написать макрос (код VBA)?
Когда вы открываете редактор Visual Basic, у вас есть окно кода, в котором вы можете писать код.

8. Какие существуют способы написания макроса (кода VBA) в Excel?
Один из лучших способов написать макрос — написать его прямо в окне кода.
9. Как добавить комментарий в код VBA?
Чтобы добавить комментарий, вам нужно начать строку комментария с апострофа (‘), а затем написать комментарий, как только вы закончите, нажмите Enter, чтобы перейти к следующей строке ( узнайте больше о добавлении комментариев, чтобы покинуть это место ).

10. Как запустить макрос?
Вы можете запустить макрос из списка макросов. На вкладке «Разработчик» есть кнопка «Макросы», и при нажатии на нее открывается диалоговое окно со списком макросов, которые есть во всех открытых книгах.

Помимо этого, существует несколько способов запуска макроса. Обязательно ознакомьтесь с этим руководством , чтобы узнать больше.
11. Как записать макрос в Excel?
В Excel есть средство записи макросов, которое поможет вам записывать практически каждое выполняемое вами действие и генерировать весь код на серверной стороне. Если вы видите, на вкладке разработчика есть кнопка с названием «Запись макроса».

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

Вот полное руководство по обучению записи макроса .
12. Как записать макрос в Excel?
Когда вы пишете макрос, он автоматически сохраняется в той книге, где вы его написали, отдельно сохранять его не нужно. Но вам необходимо сохранить книгу в формате макроса (.xlsm).

А когда вы попытаетесь сохранить книгу в другом формате, содержащем макрос, Excel предупредит вас.
13. Что такое модуль?
Модуль VBA представляет собой файл с расширением «.bcf», имеющий окно кода, в котором вы можете написать макрос. Вы можете вставлять, удалять и даже импортировать и экспортировать модуль в книгу.

14. Что такое процедура в VBA?
Когда вы пишете макрос в VBA, он называется процедурой. Процедура может состоять из одной строки кода или нескольких строк кода.

В приведенном выше примере у нас есть процедура с именем «vba_border», которая имеет одну строку, но разделила эту строку на несколько строк .
15. Каковы виды процедур?
В VBA можно использовать два типа процедур: первый — «Подчиненная процедура», второй — «Функция».

Если вы хотите написать процедуру «Sub», вам нужно начать код с ключевого слова «Sub» и для процедуры функции.
16. Что такое переменная?
Как следует из названия, переменная — это нечто незафиксированное. В VBA вы можете использовать переменную для хранения значения и изменить это значение в любой момент во время выполнения кода.
17. Как объявить переменную в VBA?
Чтобы использовать переменную, необходимо сначала объявить ее с помощью ключевого слова «Dim» . В следующем примере кода вы можете видеть, что мы использовали «Dim», имя переменной, а затем тип данных.

В приведенном выше примере мы использовали оператор dim, чтобы объявить переменную «startDate» и указать дату в качестве типа данных. И после этого мы указали значение даты для переменной. Далее вы узнаете больше о переменных отсюда .
18. Каковы типы данных VBA?
При объявлении переменной (или даже константы) необходимо указать тип данных. Объявление типа данных помогает VBA понять, какой тип значения вы хотите сохранить в переменной. Допустим, если вы хотите сохранить дату в переменной, как мы это делали в предыдущем примере, вам нужно указать тип данных как дату.
19. Что такое явный вариант?
Option Explicit — это оператор, который вы можете использовать в начале модуля, и как только вы используете этот оператор, мы можем предупредить вас, если вы пропустите объявление переменной.

Снимок экрана выше — лучший пример того, как мы использовали переменную «a», не объявляя ее, и при запуске кода появляется сообщение об ошибке компиляции с надписью «неопределенная переменная». Как вы можете видеть вверху, мы использовали опцию явного объявления.
20. Что такое константа?
Как и переменная, константа также хранит значение. Но в случае константы вы можете изменить сохраненное в ней значение. Чтобы объявить константу, вам нужно использовать ее так же, как вы используете ее в переменной, но вместо «Dim» вам нужно использовать рабочую константу для объявления (см. следующий пример и вот ссылку, чтобы узнать больше ).

21. Как обратиться к книге в коде VBA?
Чтобы обратиться к книге, вы должны использовать объект книги , а затем указать имя книги, на которую вы хотите сослаться.

В приведенном выше примере нам нужно использовать объект рабочей книги, а затем мы сослались на книгу1, используя расширение файла. Вот несколько примеров, на которых вы можете научиться использовать книги в Excel VBA.
Сохранить книгу | Удалить книгу | Обратитесь к этой книге | Переименование книги | Активировать книгу | Объединяет рабочие тетради | Защитить книгу (Снять защиту) | Проверьте, открыта ли книга | Открыть книгу | Проверьте, существует ли в папке книга Excel | Создайте новую книгу (файл Excel) | Закрыть книгу
22. Как обратиться к рабочему листу в коде VBA?
Чтобы обратиться к рабочему листу, вам необходимо использовать объект рабочего листа, а затем указать имя рабочего листа, на который вы хотите сослаться. В следующем примере мы использовали объект рабочего листа, а затем указали «Лист1».

Как видите, мы использовали «Листы» и «Рабочие листы» для обозначения одного и того же рабочего листа, вам необходимо понимать разницу между листами и электронными таблицами, и вот полное руководство для этого .
Подсчет листов | Активировать лист | Пройтись по всем листам
- Проверьте, существует ли лист
- Стереть весь лист
- Защитить и снять защиту листа
- Удалить лист
- СКРЫТЬ\ПОКАЗАТЬ лист
- Как переименовать лист в Excel с помощью VBA
- Как скопировать лист в Excel с помощью VBA
- Как активировать лист с помощью VBA
23. Как выделить диапазон ячеек с помощью макроса?
Чтобы выбрать диапазон или ячейку, вы должны сначала использовать объект диапазона, чтобы указать диапазон, затем метод выбора, и когда вы запускаете этот код, Excel выбирает указанный вами диапазон.

Как вы можете видеть в приведенном выше примере, мы указали диапазон A1 и использовали метод select. Вот некоторые важные задачи, которые можно выполнять с ячейками и диапазонами с помощью VBA.
24. Как получить значение ячейки с помощью макроса?
Чтобы получить значение из ячейки, вам нужно использовать метод value, а затем присвоить это значение другой ячейке, чтобы получить его. В следующем примере мы использовали объект диапазона для указания A1, затем использовали метод значения.

И после этого мы присвоили его ячейке A2, и когда вы используете этот код, вы получаете значение ячейки A1 в ячейке A2.
25. Как ввести значение в ячейку с помощью VBA?
Чтобы ввести значение в ячейку, необходимо сначала использовать объект диапазона, а затем указать значение, которое вы хотите использовать. В следующем примере у нас есть код для ввода значения в ячейку A1. Сначала мы использовали объект диапазона, затем использовали знак равенства, чтобы указать значение «Да» для ввода.

Как видите, мы заключили значение в двойные кавычки, поскольку это текстовое значение.
26. Как отобразить сообщение пользователю?
В VBA «MsgBox» — это функция, которую можно использовать для отображения окна сообщения пользователю и получения ответа с помощью кнопок, имеющихся в окне сообщения. См. следующий пример.
=MSGBOX(приглашение, [кнопки], [заголовок], [файл справки, контекст])

Подробнее об окне сообщений вы можете узнать из этого руководства .
27. Как получить ответ от пользователя?
Чтобы получить ответ от пользователя, вы можете использовать поле ввода, которое позволяет пользователю ввести ответ в строку ввода, а затем нажать «ОК», чтобы отправить его.
28. Что такое цикл в VBA?
Цикл — это набор кода, который повторяется несколько раз. В VBA цикл — это способ определить строку кода, находящуюся в цикле, для ее повторения. Существуют разные способы написания цикла в VBA.
- Для остальных
- За каждый следующий
- Сделать цикл while
- Доберитесь до петли
29. Как проверить условия в VBA?
В VBA для проверки условий существует два основных метода: вы можете использовать оператор IF и оператор выбора случая . Эти два метода немного отличаются друг от друга. С помощью оператора IF вы можете проверять одно условие за раз (пока вы не используете вложенный IF ), а с помощью варианта выбора вы можете проверять несколько условий.
Подробнее: Выход ЕСЛИ | ЕСЛИ И | ЕСЛИ НЕ | Я ДЛЯ
30. Что такое массив в VBA?
Таблица в VBA похожа на мини-базу данных, в которой хранятся и систематизируются данные.

Чтобы использовать массив, вы должны сначала его объявить.

31. Есть ли у нас функции в VBA?
Да, у нас есть функции в VBA. Использование этих функций аналогично функциям, которые мы используем в электронной таблице. Есть аргументы, которым нам нужно установить значения, чтобы получить результат (см. этот список функций ).
32. Нужно ли обрабатывать ошибки в VBA?
Как и во всех языках программирования, в VBA приходится иметь дело с ошибками , и лучший способ справиться с этими ошибками — это понимать, как отлаживать коды, и иметь представление обо всех возможных ошибках, с которыми пользователь может столкнуться одновременно. будущее. . Вы можете столкнуться с четырьмя типами ошибок:
- Синтаксические ошибки
- Ошибки компиляции
- Ошибки выполнения
- Логическая ошибка
Вот список ошибок, с которыми нужно бороться в разных ситуациях.
Индекс вне диапазона (ошибка 9) | Время выполнения (ошибка 1004) | Требуется объект (ошибка 424) | Недостаточно памяти (ошибка 7) | Объект не поддерживает это свойство или метод (ошибка 438). | Неверный вызов процедуры или аргумент (ошибка 5) | Переполнение (ошибка 6) | Ошибка автоматизации (Ошибка 440) | Ошибка VBA 400 | Ошибка несоответствия типа (Ошибка 13)
33. Как отлаживать код VBA?
Существует два разных способа отладки кода в VBA. Первый — использовать опцию компиляции проекта VBA. Когда вы используете эту опцию, она анализирует каждую строку кода и предупреждает вас, если в коде есть ошибка.

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

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

И как только мы выбрали функцию для использования, можете ли вы указать значения аргументов этой функции?

35. Что такое определяемая пользователем функция (UDF)?
UDF — это пользовательская функция, которую можно создать в Excel с помощью функциональной процедуры VBA. В следующем примере мы написали код для создания функции, которая может возвращать название дня из даты.

Как видите, в приведенном выше примере мы определяем аргумент (InputDate) для функции, а затем используем значение этого аргумента для вычисления результата функции. Перейдите по этой ссылке, чтобы узнать больше об этом .
36. Как использовать личную книгу макросов?
Вы можете сохранить свои макросы в личной папке макросов, чтобы иметь к ним доступ из всех папок. Когда вы открываете Excel, каждый раз открывается рабочая книга «Личные макросы», предоставляющая вам доступ к судам, которые вы там сохранили.

При записи макроса вы можете выбрать вариант сохранения этого кода в персональной подшивке макросов. Это один из самых простых способов создать персональную папку для макросов, если ее еще нет. Вы можете узнать больше здесь .
37. Какова цель утверждения «с»?
Используя этот оператор, вы можете один раз сослаться на объект, а затем использовать его для доступа к его многочисленным свойствам и использованию нескольких методов.

Как вы можете видеть в приведенном выше примере, где мы ссылались на свойство шрифта диапазона A1 с помощью оператора «With», затем оно ссылалось на три свойства. Самое приятное в использовании оператора with то, что вам не нужно снова и снова ссылаться на основной объект. Подробнее о «с» можно прочитать здесь .
38. Какова цель оператора GoTo в VBA?
В VBA вы можете использовать оператор перехода для перехода от одного кода к другому. Чтобы использовать этот оператор, вы должны создать метку где-нибудь в коде, а затем использовать оператор перехода, чтобы указать VBA перейти к этой метке. Обратитесь к следующему примеру, а если вы хотите узнать больше, ознакомьтесь с этим руководством .

39. Какие полезные задачи можно выполнить с помощью VBA?
Вот некоторые из основных задач, которые вы можете выполнить с помощью кода VBA.
Добавить границы | Шрифт | Добавить разрыв строки | Добавить комментарий | Добавить новую строку | Объединить ячейки | Перенос текста | Удерживайте и переключайте режим сна для приостановки и задержки | Строка состояния | Обновление экрана | Генерировать случайные числа | Именованный диапазон | Немедленное окно | Создать и записать в текстовый файл | Объединить | Очистить содержимое | Автоматическая регулировка