Remkomplekty.ru

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

Как создать диалоговое окно в excel

Microsoft Excel

трюки • приёмы • решения

Как использовать встроенную в Excel форму для ввода данных

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

Прежде чем вы сможете использовать эту форму, вы должны настроить заголовки столбцов в вашем листе. Кроме того, вы можете указать диапазон данных в виде таблицы, выбрав Вставка ► Таблицы ► Таблица. Команды Форма нет на ленте, так что вам придется провести небольшую подготовительную работу. Рассмотрим, как можно добавить команду на панель быстрого доступа.

  • Щелкните правой кнопкой мыши на панели быстрого доступа и выберите в контекстном меню пункт Настройка панели быстрого доступа. На экране появится раздел Панель быстрого доступа диалогового окна Параметры Excel.
  • В раскрывающемся списке Выбрать команды из выберите Команды не на ленте.
  • В списке ниже выберите Форма, а затем нажмите кнопку Добавить.
  • Нажмите ОК, чтобы закрыть диалоговое окно Параметры Excel.

После выполнения этих шагов ваша панель быстрого доступа будет включать новый значок. При щелчке на нем отображается форма для ввода данных. Активизируйте любую ячейку в листе и выберите команду Форма на панели быстрого доступа. Вы увидите диалоговое окно, как показано на рис. 41.1 (ноля, отображаемые в диалоговом окне, меняются в зависимости от заголовков ваших столбцов).

Рис. 41.1. Форма ввода данных Excel

Если количество столбцов в вашем списке больше, чем позволяет вместить экран, диалоговое окно будет содержать два столбца имен полей. Если в списке более 32 столбцов, команда Форма не работает. Вам придется отказаться от этого метода ввода данных и вводить информацию в ячейки напрямую.

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

Чтобы ввести новую запись, нажмите кнопку Добавить для очистки полей. Теперь вы можете ввести новую информацию в соответствующие поля. Нажмите клавишу Tab или Shift+Tab для перемещения между полями. Когда вы нажмете кнопку Добавить (или Закрыть), данные, которые вы ввели, добавятся в нижнюю часть списка. Вы также можете нажать Enter, что эквивалентно нажатию кнопки Добавить. Если список содержит формулы, они также автоматически вводятся в новую запись.

Если ваш список назван Database, Excel автоматически расширяет определение диапазона так, чтобы он включал новую строку или строки, которые вы добавляете в список с помощью формы. Обратите внимание на то, что этот метод работает только тогда, когда имя списка — Database; никакое другое имя не работает. Используйте команду Формулы ► Определенные имена ► Присвоить имя, чтобы задать имя диапазону. Если список находится в таблице (созданной с помощью команды Вставка ► Таблицы ► Таблица), нет необходимости именовать диапазон. Таблица будет расширена автоматически при добавлении новых данных.

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

  • Удалить — удаляет текущую запись.
  • Вернуть — восстанавливает любую информацию, которую вы редактировали. Вы должны нажать ее, прежде чем нажмете кнопку Добавить.
  • Назад — отображает предыдущую запись в списке. Если вы ввели критерий, эта кнопка показывает предыдущую запись, которая соответствует критерию.
  • Далее — отображает следующую запись в списке. Если вы ввели критерий, эта кнопка показывает следующую запись, которая соответствует критерию.
  • Критерии — очищает поля и позволяет ввести критерий, по которому выполняется поиск записей. Например, чтобы найти записи, в которых значение цены менее $200 000, введите в поле Цена. Затем вы можете использовать кнопки Назад и Далее для отображения подходящих под критерий записей.
  • Закрыть — закрывает форму (и вводит любые данные, которые вы вводили).

Диалоговые окна Excel

Некоторые команды меню имеют клавиатурные эквиваленты. Обычно они указываются рядом с названиями элементов меню. Это дает возможность во время выбора команд из меню изучать их клавиатурные эквиваленты.

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

Когда в ответ на введенную вами команду появляется диалоговое окно, вы должны установить ряд дополнительных параметров с помощью его элементов управления. Сделав это, для продолжения работы щелкните на кнопке ОК или на клавишу . Если передумаете, щелкните на кнопке Отмена или на клавишу , — и тогда ничего не произойдет, словно диалоговое окно и не появлялось.

Если диалоговое окно закрывает ту часть рабочего листа, которую вам нужно щелкните на его строке заголовка и перетащите его в другое место. В строке заголовка диалогового окна находится два элемента управления: кнопка справки — пиктограмма со знаком вопроса — и кнопка закрытия. Когда вы щелкнете на кнопке справки, возле указателя мыши появится знак вопроса. Затем щелкните на элементе диалогового окна для получения его описания. Щелчок на кнопке закрытия, как и щелчок на кнопке Отмена или нажатие клавиши , дает один же результат — закрывается диалоговое окно.

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

Каждый элемент управления в диалоговом окне сопровождается текстом, в котором всегда есть одна подчеркнутая буква (она называется горячей клавишей). Чтобы получить доступ к элементу управления с клавиатуры, нужно нажать клавишу одновременно с подчеркнутой буквой. С помощью клавиши можно выполнять перемещение по всем элементам управления диалогового окна. А комбинация клавиш используется для циклического перемещения в обратном порядке.

Когда элемент управления выбран, он обрамляется темным контуром. Для активизации выбранного элемента управления нажмите клавишу .

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

Большинство пользователей считают, что в диалоговых окнах нет ничего сложного. Элементы управления обычно работают так, как и можно было ожидать. К ним можно получать доступ как с помощью мыши, так и с помощью клавиатуры.

Кнопочный элемент управления очень прост в обращении. Достаточно щелкнуть на нем, и он выполнит свою функцию. Большинство диалоговых окон имеет, по меньшей мере две кнопки. Кнопка ОК закрывает диалоговое окно и выполняет команду. Кнопка Отмена закрывает диалоговое окно без всяких дальнейших действий. Если текст на кнопке заканчивается многоточием, это означает, что щелчок на ней приведет к появлению еще одного диалогового окна.

Нажатие клавиши одновременно с подчеркнутой буквой в названии кнопки равносильно щелчку на этой кнопке. Нажатие клавиши дает тот же результат, что и щелчок на кнопке ОК, а нажатие клавиши — тот же результат, что и щелчок на кнопке Отмена.

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

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

Флажок опции используется для отображения на экране состояния данной опции. Ее действие подобно выбору ответа в тесте типа «да-нет». В отличие от переключателей, флажки опций не зависят один от другого. Щелчок на флажке опции приводит к появлению или исчезновению галочки в квадратике.

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

Читать еще:  Перебор ячеек в excel vba

Счетчик позволяет легко ввести какое-либо число. Для этого нужно щелкнуть на кнопках со стрелками, чтобы увеличить или уменьшить отображаемое значение. Счетчик почти всегда связан с полем ввода. Можно вводить значение прямо в поле ввода или использовать счетчик для получения нужного числа.

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

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

Многие диалоговые окна Excel содержат вкладки. В таких окнах есть корешки, напоминающие обычные ярлычки блокнота, каждый из которых соответствует отдельной вкладке. Если щелкнуть на корешке вкладки, то диалоговое окно изменится, отображая набор элементов соответствующей вкладки. Хорошим примером диалогового окна с вкладками является окно Формат ячеек, которое появляется при выборе команды Формат-Ячейки. Обратите внимание, что данное диалоговое окно содержит шесть вкладок, и это делает его функционально эквивалентным шести различным диалоговым окнам.

Диалоговые окна с вкладками очень удобны, так как можно сделать много установок в одном диалоговом окне. Для завершения работы с диалоговым окном щелкните на кнопке ОК или нажмите клавишу .

Для выбора вкладки с помощью клавиатуры воспользуйтесь комбинацией клавиш или или нажмите клавишу с первой буквой той вкладки, которую вы хотите активизировать.

Тема 3. ИНТЕГРАЦИЯ РАЗЛИЧНЫХ ОБЪЕКТОВ EXCEL СРЕДСТВАМИ VBA.

1. Использование элементов управления диалогового окна.

Элементы управления диалогом – это кнопки, флажки, переключатели, раскрывающиеся списки, счётчики и т.д. Они позволяют пользователю при вводе данных использовать только мышь, а не вводить их с клавиатуры.

Для создания элемента управления типа Флажок выполните следующую последовательность действий:

1. Выберите Вид -> Панели инструментов -> Формы. Щёлкните кнопку Флажок на панели Формы. Выделите ячейки, например, D3:E3.

2. Измените заголовок элемента управления с «Флажок 1» на «Налог». Для этого щёлкните на флажке правой клавишей мыши для его выделения и в всплывающем меню берите Изменить текст.

3. Измените формат элемента управления. С этой целью в всплывающем меню выберите Формат объекта . . На вкладке Элемент управления установите Объёмное затемнение, в поле Связать с ячейкой введите или выберите F3.

4. Изменяйте состояние флажка, щелкая по нему мышкой и контролируя значение ячейки F3. Вводите в ячейку F3 логические значения, противоположные текущему ее состоянию, и контролируйте состояние флажка.

5. Повторите предыдущие шаги для создания ещё двух флажков:

У последнего флажка на вкладке Элемент управления установите Значение смешанное. Это означает, что его значение не истина и не ложь.

Элементы управления Переключатели используются группами и представляют собой взаимоисключающие варианты выбора, то есть одновременно может быть выбран лишь один из них. Для объединения переключателей создаётся окно группы. Для этого:

1. Щёлкните кнопку Группа на панели Формы. Добавьте окно группы, покрывая ячейки C2:F8. Измените заголовок на Руководитель.

2. Щёлкните кнопку Переключатель на панели Формы и добавьте его, выделив ячейки D3:E3.

3. Измените заголовок на Иван Петров. Свяжите переключатель с ячейкой F3, как это делали у флажка, установите Объёмное затемнение. Добавьте ещё переключатели как на рисунке. Выделите диапазон B2:G11 и окрасьте его серым фоном.

4. Изменяя состояние переключателей, контролируйте значение ячейки F3. Вводя в ячейку F3 значения от 0 до 4, контролируйте состояние переключателей.

Окно элемента управления Список служит для выбора какого-либо элемента, входящего в список. Списки бывают выпадающие и стандартные. Стандартное окно создаётся следующим образом:

1. В ячейки В8:С13 введите данные по одному в ячейку, аналогично приведенным на рисунке ниже:

2. Далее на панели Формы щёлкните кнопку Список и нарисуйте окно в диапазоне E3:F6.

3. Щёлкнув правой кнопкой на созданном объекте, в выпадающем меню выберите Формат объекта и далее вкладку Элемент управления. На этой вкладке в поле Форматировать список по диапазону укажите диапазон $B$8:$B$13, а в поле Связать с ячейкой укажите ячейку G4.

В ячейке G4 хранится относительный номер выбранного из списка элемента. Встроенная функция ИНДЕКС позволяет сделать это число полезным. Она имеет три обязательных аргумента: первый – ссылка на массив ячеек, второй и третий указывают соответственно номер строки и столбца ячейки указанного диапазона, которая возвращается функцией в качестве её значения. Например, в вышеописанном примере значением

ИНДЕКС(С8:С13; 3; 1) — является $2,500.

В качестве второго аргумента можно использовать связанную ячейку элемента управления Список. Рассмотрим пример этого использования. Для этого:

1. Вставьте в ячейку Е10, используя меню Вставка -> Функция функцию

ИНДЕКС(С8:С13; G4; 1).

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

2. Изменяя состояние списка, обратите внимание на изменение значений ячейки E10.

3. Введите в ячейку E10 функцию =ИНДЕКС($B$8:$C$13; G4; 2) и повторите п.2. Результат должен быть аналогичным предыдущем. Обратите внимание на изменения в аргументах функции.

Задание 1. Создайте самостоятельно по описанному способу элементы управления Полоса прокрутки и Счётчик, свяжите каждый из них с какой-либо свободной ячейкой рабочего листа.

Задание 2. Создайте элемент управления Кнопка. Он служит для запуска созданных макросов. Назначьте своей кнопке какой-либо из ваших макросов.

2. Создание и использование диалоговых окон.

Диалоговые листы – тип листа Excel, используемый для организации пользовательских диалоговых окон. Добавить диалоговый лист можно, щёлкнув правой кнопкой мыши на названии какого-либо листа, а затем Добавить -> Окно диалога Excel 5.0.

Чтобы увидеть, как будет выглядеть Ваше окно при запуске, необходимо щёлкнуть кнопку Отобразить окно панели Формы или после щелчка правой кнопки в выпадающем меню выбрать опцию Отобразить окно. Вы можете в диалоговом листе изменить размер создаваемого диалогового окна, его заголовок, можете добавлять и удалять в нём кнопки и другие элементы управления, которые можно добавлять в диалоговое окно при помощи панели Формы так же, как это делалось в рабочем листе.

Задание 3. Добавьте диалоговый лист, создайте диалоговое окно, а в нем два флажка: один с заголовком «Курсив», другой – с заголовком «Полужирный».

Чтобы вызвать и отобразить диалоговое окно, созданное в диалоговом листе Диалог1, используется метод Show, а чтобы скрыть его — метод Hide. Например,

Sheets(«Диалог1»).Show или Sheets(«Диалог1″”).Hide.

Создайте макрос, запускающий ваше диалоговое окно:

Sub Запуск() Sheets(«Диалог1»).Show End Sub

На данный момент Ваше окно никак не может влиять на состояние рабочих листов рабочей книги, так как никакой макрос ещё не связан с нажатием кнопки ОК диалогового окна. Чтобы установить эту связь, выделите в диалоговом листе кнопку ОК, а затем щёлкните на кнопке Текст программы панели Формы. Активным становится модульный лист с уже созданной для вас процедурной заготовкой:

Sub Кнопка2_Щелкнуть() End Sub

Конструкция Кнопка2_Щелкнуть() говорит о том, что процедура Sub() будет обрабатывать событие Click (Щелкнуть) для конкретного объекта Кнопка2, принадлежащему объекту типу Button (Кнопка). В общем случае в VBA заголовок процедуры обработки события имеет вид:

Внутрь процедуры Кнопка2_Щелкнуть() введите код, изменяющий формат выделенных ячеек рабочего листа в зависимости от состояния флажков вашего диалогового окна:

If Sheets(«Диалог1»).CheckBoxes(«Флажок 5»).Value = xlOn Then Selection.Font.Bold = True Else Selection.Font.Bold = False End If If Sheets(«Диалог1»).CheckBoxes(«Флажок 4»).Value = xlOn Then Selection.Font.Italic = True Else Selection.Font.Italic = False End If

Объект CheckBoxes — это коллекция объектов элементов управления типа Флажок, которая содержится в родительском объекте. В нашем примере родительский объект — это Sheets(«Диалог1») — конкретный лист диалога. Конструкция CheckBoxes( ) — это указатель на конкретный элемент этой коллекции, имеющий уникальное имя.

Задание 4. Проведите отладку и тестирование работы, описанного Выше примера. Предварительно проверьте, что имена всех используемых элементов управления в описанном примере и в Вашей реализации совпадают. Если все макросы и модули работоспособны, на любом из рабочих листов Excel, проверьте работоспособность Вашего примера по изменению формата ячеек любой выделенной области, при вызове макроса Запуск.

3. Окна диалога и программное взаимодействие их элементов управления с клетками рабочих листов.

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

Читать еще:  Vba excel byref argument type mismatch

С этой целью создайте новый диалоговый лист и измените заголовок диалогового окна на «Новый заказ на покупку». При помощи панели Формы создайте в диалоговом окне два поля редактирования данных:

1. При помощи кнопки Надпись создать две надписи – Номер заказа и Продавец.

2. При помощи кнопки Текстовое Поле нарисовать рядом с каждой из надписей по одному полю редактирования.

3. Выделите щелчком мыши поле редактирования для ввода заказа. В поле имени панели инструментов Excel переименуйте элемент управления на НомерЗаказа и затем обязательно нажмите клавишу ввода на клавиатуре.

4. Аналогично переименуйте второе поле редактирования в Продавец.

Обращение к содержимому поля редактирования в макросах Exel осуществляется при помощи оператора

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

Выделите щелчком мыши диалоговое окно и щёлкните кнопку Текст программы панели Формы. Вы получите программную заготовку процедуры обработки события вывода объекта c именем «Диалог2». Внутри процедурной заготовки введите текст макроса:

Sheets(«Диалог2»).EditBoxes(«НомерЗаказа»).Text = ТекЗак + 1 Sheets(«Диалог2»).EditBoxes(«НомерЗаказа»).Enabled = False Sheets(«Диалог2»).EditBoxes(«Продавец»).Text = «»

Перейдите в начало модуля и перед первой его процедурой опишите глобальную переменную ТекЗак, её значение будет сохраняться между запусками процедуры:

Dim ТекЗак As Integer

Вернитесь в свой диалоговый лист и выделите в диалоговом окне кнопку ОК, щёлкните кнопку Текст программы панели Формы. Внутри процедурной заготовки введите текст макроса:

ТекЗак = ТекЗак + 1 ТекЗ = Sheets(«Диалог2»).EditBoxes(«НомерЗаказа»).Text ТекПрод = Sheets(«Диалог2»).EditBoxes(«Продавец»).Text Worksheets(«Заказы»).Cells(ТекЗ, «A») = ТекЗ Worksheets(«Заказы»).Cells(ТекЗ, «B») = ТекПрод

Выйдите из редактора VBA и создайте в рабочей книге новый рабочий лист Заказы.

Задание 5. Напишите макрос для запуска диалогового окна Диалог 2 и создайте на пустом рабочем листе кнопку для запуска этого макроса. Протестируйте работу диалогового окна. Убедитесь в работоспособности всех процедур данного примера.

Диалоговые окна Excel

Некоторые команды меню имеют клавиатурные эквиваленты. Обычно они указываются рядом с названиями элементов меню. Это дает возможность во время выбора команд из меню изучать их клавиатурные эквиваленты.

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

Когда в ответ на введенную вами команду появляется диалоговое окно, вы должны установить ряд дополнительных параметров с помощью его элементов управления. Сделав это, для продолжения работы щелкните на кнопке ОК или на клавишу . Если передумаете, щелкните на кнопке Отмена или на клавишу , — и тогда ничего не произойдет, словно диалоговое окно и не появлялось.

Если диалоговое окно закрывает ту часть рабочего листа, которую вам нужно щелкните на его строке заголовка и перетащите его в другое место. В строке заголовка диалогового окна находится два элемента управления: кнопка справки — пиктограмма со знаком вопроса — и кнопка закрытия. Когда вы щелкнете на кнопке справки, возле указателя мыши появится знак вопроса. Затем щелкните на элементе диалогового окна для получения его описания. Щелчок на кнопке закрытия, как и щелчок на кнопке Отмена или нажатие клавиши , дает один же результат — закрывается диалоговое окно.

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

Каждый элемент управления в диалоговом окне сопровождается текстом, в котором всегда есть одна подчеркнутая буква (она называется горячей клавишей). Чтобы получить доступ к элементу управления с клавиатуры, нужно нажать клавишу одновременно с подчеркнутой буквой. С помощью клавиши можно выполнять перемещение по всем элементам управления диалогового окна. А комбинация клавиш используется для циклического перемещения в обратном порядке.

Когда элемент управления выбран, он обрамляется темным контуром. Для активизации выбранного элемента управления нажмите клавишу .

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

Большинство пользователей считают, что в диалоговых окнах нет ничего сложного. Элементы управления обычно работают так, как и можно было ожидать. К ним можно получать доступ как с помощью мыши, так и с помощью клавиатуры.

Кнопочный элемент управления очень прост в обращении. Достаточно щелкнуть на нем, и он выполнит свою функцию. Большинство диалоговых окон имеет, по меньшей мере две кнопки. Кнопка ОК закрывает диалоговое окно и выполняет команду. Кнопка Отмена закрывает диалоговое окно без всяких дальнейших действий. Если текст на кнопке заканчивается многоточием, это означает, что щелчок на ней приведет к появлению еще одного диалогового окна.

Нажатие клавиши одновременно с подчеркнутой буквой в названии кнопки равносильно щелчку на этой кнопке. Нажатие клавиши дает тот же результат, что и щелчок на кнопке ОК, а нажатие клавиши — тот же результат, что и щелчок на кнопке Отмена.

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

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

Флажок опции используется для отображения на экране состояния данной опции. Ее действие подобно выбору ответа в тесте типа «да-нет». В отличие от переключателей, флажки опций не зависят один от другого. Щелчок на флажке опции приводит к появлению или исчезновению галочки в квадратике.

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

Счетчик позволяет легко ввести какое-либо число. Для этого нужно щелкнуть на кнопках со стрелками, чтобы увеличить или уменьшить отображаемое значение. Счетчик почти всегда связан с полем ввода. Можно вводить значение прямо в поле ввода или использовать счетчик для получения нужного числа.

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

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

Многие диалоговые окна Excel содержат вкладки. В таких окнах есть корешки, напоминающие обычные ярлычки блокнота, каждый из которых соответствует отдельной вкладке. Если щелкнуть на корешке вкладки, то диалоговое окно изменится, отображая набор элементов соответствующей вкладки. Хорошим примером диалогового окна с вкладками является окно Формат ячеек, которое появляется при выборе команды Формат-Ячейки. Обратите внимание, что данное диалоговое окно содержит шесть вкладок, и это делает его функционально эквивалентным шести различным диалоговым окнам.

Диалоговые окна с вкладками очень удобны, так как можно сделать много установок в одном диалоговом окне. Для завершения работы с диалоговым окном щелкните на кнопке ОК или нажмите клавишу .

Для выбора вкладки с помощью клавиатуры воспользуйтесь комбинацией клавиш или или нажмите клавишу с первой буквой той вкладки, которую вы хотите активизировать.

Тема: Создание пользовательских диалоговых окон;

Цель работы: изучение основных приемов работы с пользовательскими диалоговыми окнами.

Теоретическая часть.

Обычно приложения используют диалоговые окна, когда от пользователя требуется получить какую-либо информацию. Диалоговое окно создается на основе пользовательской формы. Чтобы добавить ее, в редакторе Visual Basic выбираем команду Insert®UserForm. Одновременно активизируется Панель элементов, где расположены все элементы управления, которые можно размещать на формах. Пользовательские диалоговые окна в EXEL являются модальными, т.е. при активном диалоговом окне пользователь может производить действия только в пределах этого окна.

Читать еще:  Vba excel вставка формулы в ячейку

Свойства и методы объекта UserForm.

ü Name – содержит имя, используемой при ссылке на форму;

ü BackColor – цвет фона формы;

ü Caption – текст в заголовке формы;

ü Picture – указывает рисунок, отображаемый как фон формы;

ü Left, Top, Height, Width – устанавливают положение и размер формы;

ü Show – модально отображает форму;

ü Hide – закрывает форму;

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

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

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

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

Событие Initialize происходит при первичной активизации формы.

Событие Activate происходит при каждой активизации формы.

На формах размещаются те же элементы управления, что и на рабочих листах. Дополнительно к ним существуют:

ü Frame (рамка) – позволяет объединять переключатели в группы;

ü MultiPage (Набор страниц) – используется для реализации многостраничных диалоговых окон;

ü RefEdit – позволяет указывать ячейки в модальном диалоговом окне для выделения диапазона.

Последовательностью перехода называется порядок, в котором элементы диалогового окна будут активизироваться при нажатии клавиши «Tab». Для установки нужной последовательности необходимо в редакторе Visual Basic выбрать команду Вид®Последовательность перехода. В появившемся диалоговом окне с помощью кнопок Вверх и Внизустановить нужный порядок активизации элементов управления.

Используя пользовательскую форму, можно создать мастер.

Мастер – это последовательность диалоговых окон, вид которых меняется на каждом шаге. Для реализации данного процесса используется одна пользовательская форма. На нее помещают последовательность рамок Frame, причем каждая из них должна принадлежать UserForm. Чтобы границы рамок были невидны и создавалось впечатление, что все компоненты расположены на самой форме, нужно задать следующие свойства:

ü Caption = пустая строка;

ü Border – fmBorderStyleNone

ü SpecialEffect – fmSpecialEffectFlat.

На рамках размещаются необходимые компоненты. Переход от одного шага к другому осуществляется с помощью кнопок Назад и Вперед (эти кнопки должны находиться на самой форме), для которых пишутся соответствующие обработчики. Чтобы показать в мастере очередной шаг, достаточно для соответствующей рамки Frame задать свойство Visible=true, а остальные рамки скрыть. На форме также располагаются кнопки Ok и Cancel. Кнопка Ok становится активной только тогда, когда пользователь прошел все шаги мастера и сделал осознанный выбор. По кнопке Cancel можно на любом шаге выйти из мастера без сохранения сделанного выбора.

Лекция №6.

Тема: Сводные таблицы.

Цель работы: освоить процесс построения и форматирования сводных таблиц.

Теоретическая часть.

Сводные таблицы – это мощнейший инструмент анализа данных. С их помощью создаются высокоскоростные запросы на выборку из больших наборов данных.

Для работы со сводными таблицами используют семейство объектов PivotTables. Данный объект – это таблица, расположенная на листе Excel и используемая для отображения больших объемов данных в любой выбранной конфигурации и форме. Объект PivotTable используется для выполнения высокоскоростных запросов на выборку из больших наборов данных, в качестве которых могут выступать как внешняя база данных, так и некоторый диапазон рабочего листа Excel.

Чтобы построить сводную таблицу, вызывается метод PivotTableWizard объекта WorkSheet. Данный метод имеет следующие аргументы:

ü SourceType – константа, обозначающая тип источника данных. В качестве типов можно использовать следующие константы:

o xlDataBase – если источником является список или база данных, расположенная в Excel;

o xlExternal – если источником является внешняя база данных;

o xlConsolidation – если источником является объединение (консолидация) нескольких диапазонов рабочих листов Excel;

o xlPivotTable – если источником является существующая сводная таблица.

ü SourceData – вид источника данных, зависящий от первого аргумента:

o для xlDatabase — диапазон рабочего листа;

o для xlExternal — массив строк, содержащий строку связи ODBC (ODBC connect String) и оператор SQL;

o для xlConsolidation — массив диапазонов рабочего листа;

o для xlPivotTable – имя существующей сводной таблицы.

ü TableDestination – диапазон, в который будет помещена сводная таблица;

ü TableName – имя, которое будет присвоено сводной таблице;

ü RowGrand (True/False) – отображать или нет суммарный итог по строкам;

ü ColumnGrand (True/False)– отображать или нет суммарный итог по столбцам.

Пусть на рабочем листе расположены две кнопки: «Построить сводную таблицу» (CommandButton1) и «Удалить сводную таблицу» (CommandButton2).

При нажатии на кнопку «Построить сводную таблицу», создается сводная таблица на том же листе, где расположены кнопки. Таблица строится по списку, расположенному на 1-ом листе файла «Туристические товары.xls».

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

Если сводная таблица строится по данным, расположенным во внешнем источнике, то изменятся первые два аргумента метода. В качестве источника данных выберем константу xlExternal. Конкретное расположение данных будет задаваться массивом, первый аргумент которого – строка соединения с внешней базой данных, а второй – инструкция языка SQL, позволяющая отобрать из базы данных конкретные поля, участвующие в построении сводной таблицы.

Объект PivotTable включает в себя семейство PivotFields, в котором находятся все поля, находящиеся в выбранной базе данных. Свойство Orientation объекта PivotFields позволяет распределять поля сводной таблицы в области Строки, Столбца, Данных, Страницы. После применения указанного свойства сводная таблица принимает свой окончательный вид. Завершим построение сводной таблицы по данным, расположенным на листе Excel.

Готовая сводная таблица на листе будет иметь вид:

Если требуется создать более красочный вид отчета, то это можно сделать, используя метод Format применяемый к уже построенной сводной таблице. Аргумент данного метода – это константа, указывающая способ форматирования. Если выбирается константа типа xlReport, то поля в сводной таблице могут оказаться переориентированными. Применим к нашей таблице следующий формат:

Ниже приведен фрагмент полученной после форматирования таблицы.

Если выбирается константа типа xlTable, то поля в сводной таблице сохраняют выбранную при построении ориентацию. Применим к нашей таблице следующий формат:

ActiveSheet.PivotTables(“Сводная”).Format xl Table10

Ниже приведена полученная после форматирования таблица.

Объекты семейства PivotTables поддерживают следующие свойства и методы:

ü TableRange1 – диапазон ячеек, включающий области Строки, Столбца и Данных;

ü TableRange2 – диапазон ячеек, включающий все области сводной таблицы;

ü PivotFields – метод, который возвращает все поля сводной таблицы;

ü AddFields – метод, который используется для добавления полей;

Свойства TableRange1, TableRange2 позволяют перейти от сводной таблицы, как объекта, к ячейкам, содержащим сводную таблицу. Данные свойства используют для применения числового формата к ячейкам сводной таблицы и для удаления сводной таблицы.

Пусть требуется при нажатии на кнопку CommandButton2 удалить сводную таблицу:

Объекты семейства PivotFields (поля сводной таблицы) поддерживают следующие свойства и методы:

ü CurrentPage – позволяет установить конкретное значение в поле страницы. Пусть требуется показать информацию только по одному континенту, например по Азии:

ActiveSheet.PivotTables(«Сводная»).PivotFields(«Континент»).CurrentPage = «Азия»

ü Subtotals – позволяет установить один из 11-ти типов промежуточных итогов. Промежуточные итоги целесообразно подводить для обобщающего поля. В данной таблице — для поля Категория. Пусть требуется показать максимум по каждой категории:

ActiveSheet.PivotTables(«Сводная»).PivotFields(«Категория»).Subtotals = Array(False, False, False, False, True, False, False, False, False, False, False, False)

ü Group – группирует элементы указанного поля. Обычно группируют элементы поля, содержащего тип даты. При этом указывается тип группировки в массиве из 7 элементов в следующем порядке: секунды, минуты, часы, дни, месяцы, кварталы, годы. В данном примере групптровка происходит по полю Период с шагом группировка по кварталам.

ActiveSheet.PivotTables(«Сводная»).DataRange.Rows(1).Group Start:=True, End:=True, Periods:=Array(False, False, False, False, True, True, False)

ü NumberFormat – устанавливает способ форматирования для поля данных;

ü Calculation – устанавливает вид дополнительных вычислений для поля данных. Применение дополнительных вычислений позволяет не только просматривать сводную таблицу, но и проанализировать ее. Пусть требуется показать: какую долю составляла ежемесячная прибыль от обще годовой прибыли.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×