Создания связи меню с формой в excel

Содержание

  • Применение инструментов заполнения
    • Способ 1: встроенный объект для ввода данных Excel
    • Способ 2: создание пользовательской формы
  • Вопросы и ответы

Форма в Microsoft Excel

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

Применение инструментов заполнения

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

Теперь давайте рассмотрим, как пользоваться этими двумя видами инструментов.

Способ 1: встроенный объект для ввода данных Excel

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

  1. Нужно отметить, что по умолчанию значок, который её запускает, скрыт и его нужно активировать. Для этого переходим во вкладку «Файл», а затем щелкаем по пункту «Параметры».
  2. Переход в параметры в Microsoft Excel

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

    В поле «Выбрать команды из» устанавливаем значение «Команды не на ленте». Далее из списка команд, расположенного в алфавитном порядке, находим и выделяем позицию «Форма…». Затем жмем на кнопку «Добавить».

  4. Добавление инструмента форма на панель быстрого доступа в Microsoft Excel

  5. После этого нужный нам инструмент отобразится в правой части окна. Жмем на кнопку «OK».
  6. Инструмент форма добавлен на панель быстрого доступа в Microsoft Excel

  7. Теперь данный инструмент располагается в окне Excel на панели быстрого доступа, и мы им можем воспользоваться. Он будет присутствовать при открытии любой книги данным экземпляром Excel.
  8. Инструмент форма отображается на панеле быстрого доступа в Microsoft Excel

  9. Теперь, чтобы инструмент понял, что именно ему нужно заполнять, следует оформить шапку таблицы и записать любое значение в ней. Пусть табличный массив у нас будет состоять из четырех столбцов, которые имеют названия «Наименование товара», «Количество», «Цена» и «Сумма». Вводим данные названия в произвольный горизонтальный диапазон листа.
  10. Шапка таблицы в Microsoft Excel

  11. Также, чтобы программа поняла, с каким именно диапазонам ей нужно будет работать, следует ввести любое значение в первую строку табличного массива.
  12. первое значение в таблице в Microsoft Excel

  13. После этого выделяем любую ячейку заготовки таблицы и щелкаем на панели быстрого доступа по значку «Форма…», который мы ранее активировали.
  14. Запуск формы в Microsoft Excel

  15. Итак, открывается окно указанного инструмента. Как видим, данный объект имеет поля, которые соответствуют названиям столбцов нашего табличного массива. При этом первое поле уже заполнено значением, так как мы его ввели вручную на листе.
  16. Форма открыта в Microsoft Excel

  17. Вводим значения, которые считаем нужными и в остальные поля, после чего жмем на кнопку «Добавить».
  18. Ввод значений в форму в Microsoft Excel

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

    Lumpics.ru

  21. Заполняем окно инструмента теми значениями, которые хотим видеть во второй строке табличной области, и снова щелкаем по кнопке «Добавить».
  22. Добавление второй строки в таблицу через форму в Microsoft Excel

  23. Как видим, значения второй строчки тоже были добавлены, причем нам даже не пришлось переставлять курсор в самой таблице.
  24. Вторая строка заполнена в таблице в Microsoft Excel

  25. Таким образом, заполняем табличный массив всеми значениями, которые хотим в неё ввести.
  26. Все значения в таблицу введены в Microsoft Excel

  27. Кроме того, при желании, можно производить навигацию по ранее введенным значениям с помощью кнопок «Назад» и «Далее» или вертикальной полосы прокрутки.
  28. Навигация по форме в Microsoft Excel

  29. При необходимости можно откорректировать любое значение в табличном массиве, изменив его в форме. Чтобы изменения отобразились на листе, после внесения их в соответствующий блок инструмента, жмем на кнопку «Добавить».
  30. Корректировка данных в форме в Microsoft Excel

  31. Как видим, изменение сразу произошло и в табличной области.
  32. Изменение произведено в таблице в Microsoft Excel

  33. Если нам нужно удалить, какую-то строчку, то через кнопки навигации или полосу прокрутки переходим к соответствующему ей блоку полей в форме. После этого щелкаем по кнопке «Удалить» в окошке инструмента.
  34. Удаление строки через форму в Microsoft Excel

  35. Открывается диалоговое окно предупреждения, в котором сообщается, что строка будет удалена. Если вы уверены в своих действиях, то жмите на кнопку «OK».
  36. Подтверждение удаления строки в Microsoft Excel

  37. Как видим, строчка была извлечена из табличного диапазона. После того, как заполнение и редактирование закончено, можно выходить из окна инструмента, нажав на кнопку «Закрыть».
  38. Закрытие формы в Microsoft Excel

  39. После этого для предания табличному массиву более наглядного визуального вида можно произвести форматирование.

Таблица отформатированв в Microsoft Excel

Способ 2: создание пользовательской формы

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

  1. Как и в предыдущем способе, прежде всего, нужно составить шапку будущей таблицы на листе. Она будет состоять из пяти ячеек с именами: «№ п/п», «Наименование товара», «Количество», «Цена», «Сумма».
  2. Шапка таблицы создана в Microsoft Excel

  3. Далее нужно из нашего табличного массива сделать так называемую «умную» таблицу, с возможностью автоматического добавления строчек при заполнении соседних диапазонов или ячеек данными. Для этого выделяем шапку и, находясь во вкладке «Главная», жмем на кнопку «Форматировать как таблицу» в блоке инструментов «Стили». После этого открывается список доступных вариантов стилей. На функционал выбор одного из них никак не повлияет, поэтому выбираем просто тот вариант, который считаем более подходящим.
  4. Создание умной таблицы в Microsoft Excel

  5. Затем открывается небольшое окошко форматирования таблицы. В нем указан диапазон, который мы ранее выделили, то есть, диапазон шапки. Как правило, в данном поле заполнено все верно. Но нам следует установить галочку около параметра «Таблица с заголовками». После этого жмем на кнопку «OK».
  6. Окошко форматирования таблицы в Microsoft Excel

  7. Итак, наш диапазон отформатирован, как «умная» таблица, свидетельством чему является даже изменение визуального отображения. Как видим, помимо прочего, около каждого названия заголовка столбцов появились значки фильтрации. Их следует отключить. Для этого выделяем любую ячейку «умной» таблицы и переходим во вкладку «Данные». Там на ленте в блоке инструментов «Сортировка и фильтр» щелкаем по значку «Фильтр».
    Отключение фильтра через вкладку Данные в Microsoft Excel

    Существует ещё один вариант отключения фильтра. При этом не нужно даже будет переходить на другую вкладку, оставаясь во вкладке «Главная». После выделения ячейки табличной области на ленте в блоке настроек «Редактирование» щелкаем по значку «Сортировка и фильтр». В появившемся списке выбираем позицию «Фильтр».

  8. Отключение фильтра через вкладку Главная в Microsoft Excel

  9. Как видим, после этого действия значки фильтрации исчезли из шапки таблицы, как это и требовалось.
  10. Фильтр снят в Microsoft Excel

  11. Затем нам следует создать саму форму ввода данных. Она тоже будет представлять собой своего рода табличный массив, состоящий из двух столбцов. Наименования строк данного объекта будут соответствовать именам столбцов основной таблицы. Исключение составляют столбцы «№ п/п» и «Сумма». Они будут отсутствовать. Нумерация первого из них будет происходить при помощи макроса, а расчет значений во втором будет производиться путем применения формулы умножения количества на цену.

    Второй столбец объекта ввода данных оставим пока что пустым. Непосредственно в него позже будут вводиться значения для заполнения строк основного табличного диапазона.

  12. Форма ввода данных на листе в Microsoft Excel

  13. После этого создаем ещё одну небольшую таблицу. Она будет состоять из одного столбца и в ней разместится список товаров, которые мы будем выводить во вторую колонку основной таблицы. Для наглядности ячейку с заголовком данного перечня («Список товаров») можно залить цветом.
  14. Таблица со списком товаров в Microsoft Excel

  15. Затем выделяем первую пустую ячейку объекта ввода значений. Переходим во вкладку «Данные». Щелкаем по значку «Проверка данных», который размещен на ленте в блоке инструментов «Работа с данными».
  16. Переход к проверке данных в Microsoft Excel

  17. Запускается окно проверки вводимых данных. Кликаем по полю «Тип данных», в котором по умолчанию установлен параметр «Любое значение».
  18. Окно проверки вводимых значений в Microsoft Excel

  19. Из раскрывшихся вариантов выбираем позицию «Список».
  20. Выбор списка в окне проверки вводимых значений в Microsoft Excel

  21. Как видим, после этого окно проверки вводимых значений несколько изменило свою конфигурацию. Появилось дополнительное поле «Источник». Щелкаем по пиктограмме справа от него левой клавишей мыши.
  22. Переход к выбору источника в окне проверки вводимых значений в Microsoft Excel

  23. Затем окно проверки вводимых значений сворачивается. Выделяем курсором с зажатой левой клавишей мыши перечень данных, которые размещены на листе в дополнительной табличной области «Список товаров». После этого опять жмем на пиктограмму справа от поля, в котором появился адрес выделенного диапазона.
  24. Адрес диапазона внесен в поле в Microsoft Excel

  25. Происходит возврат к окошку проверки вводимых значений. Как видим, координаты выделенного диапазона в нем уже отображены в поле «Источник». Кликаем по кнопке «OK» внизу окна.
  26. Закрытие окна проверки вводимых значений в Microsoft Excel

  27. Теперь справа от выделенной пустой ячейки объекта ввода данных появилась пиктограмма в виде треугольника. При клике на неё открывается выпадающий список, состоящий из названий, которые подтягиваются из табличного массива «Список товаров». Произвольные данные в указанную ячейку теперь внести невозможно, а только можно выбрать из представленного списка нужную позицию. Выбираем пункт в выпадающем списке.
  28. Список со значениями в Microsoft Excel

  29. Как видим, выбранная позиция тут же отобразилась в поле «Наименование товара».
  30. Выбранная позиция отобразилась в ячейке в Microsoft Excel

  31. Далее нам нужно будет присвоить имена тем трем ячейкам формы ввода, куда мы будем вводить данные. Выделяем первую ячейку, где уже установлено в нашем случае наименование «Картофель». Далее переходим в поле наименования диапазонов. Оно расположено в левой части окна Excel на том же уровне, что и строка формул. Вводим туда произвольное название. Это может быть любое наименование на латинице, в котором нет пробелов, но лучше все-таки использовать названия близкие к решаемым данным элементом задачам. Поэтому первую ячейку, в которой содержится название товара, назовем «Name». Пишем данное наименование в поле и жмем на клавишу Enter на клавиатуре.
  32. Наименование первой ячейки в Microsoft Excel

  33. Точно таким же образом присваиваем ячейке, в которую будем вводить количество товара, имя «Volum».
  34. Наименование второй ячейки в Microsoft Excel

  35. А ячейке с ценой – «Price».
  36. Наименование третьей ячейки в Microsoft Excel

  37. После этого точно таким же образом даем название всему диапазону из вышеуказанных трех ячеек. Прежде всего, выделим, а потом дадим ему наименование в специальном поле. Пусть это будет имя «Diapason».
  38. присвоение наименования диапазону в Microsoft Excel

  39. После последнего действия обязательно сохраняем документ, чтобы названия, которые мы присвоили, смог воспринимать макрос, созданный нами в дальнейшем. Для сохранения переходим во вкладку «Файл» и кликаем по пункту «Сохранить как…».
  40. Сохранение книги в Microsoft Excel

  41. В открывшемся окне сохранения в поле «Тип файлов» выбираем значение «Книга Excel с поддержкой макросов (.xlsm)». Далее жмем на кнопку «Сохранить».
  42. Окно сохранения файла в Microsoft Excel

  43. Затем вам следует активировать работу макросов в своей версии Excel и включить вкладку «Разработчик», если вы это до сих пор не сделали. Дело в том, что обе эти функции по умолчанию в программе отключены, и их активацию нужно выполнять принудительно в окне параметров Excel.
  44. После того, как вы сделали это, переходим во вкладку «Разработчик». Кликаем по большому значку «Visual Basic», который расположен на ленте в блоке инструментов «Код».
  45. Переход в редактор макросов в Microsoft Excel

  46. Последнее действие приводит к тому, что запускается редактор макросов VBA. В области «Project», которая расположена в верхней левой части окна, выделяем имя того листа, где располагаются наши таблицы. В данном случае это «Лист 1».
  47. Редактор макросов в Microsoft Excel

  48. После этого переходим к левой нижней области окна под названием «Properties». Тут расположены настройки выделенного листа. В поле «(Name)» следует заменить кириллическое наименование («Лист1») на название, написанное на латинице. Название можно дать любое, которое вам будет удобнее, главное, чтобы в нем были исключительно символы латиницы или цифры и отсутствовали другие знаки или пробелы. Именно с этим именем будет работать макрос. Пусть в нашем случае данным названием будет «Producty», хотя вы можете выбрать и любое другое, соответствующее условиям, которые были описаны выше.

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

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

  49. Изменение наименования листа в редакторе макросов в Microsoft Excel

  50. Затем переходим в центральную область окна. Именно тут нам нужно будет записать сам код макроса. Если поле редактора кода белого цвета в указанной области не отображается, как в нашем случае, то жмем на функциональную клавишу F7 и оно появится.
  51. Поле в редкторе макросов отобразилось в Microsoft Excel

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


    Sub DataEntryForm()
    Dim nextRow As Long
    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    With Producty
    If .Range("A2").Value = "" And .Range("B2").Value = "" Then
    nextRow = nextRow - 1
    End If
    Producty.Range("Name").Copy
    .Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
    .Cells(nextRow, 3).Value = Producty.Range("Volum").Value
    .Cells(nextRow, 4).Value = Producty.Range("Price").Value
    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
    .Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
    If nextRow > 2 Then
    Range("A2").Select
    Selection.AutoFill Destination:=Range("A2:A" & nextRow)
    Range("A2:A" & nextRow).Select
    End If
    .Range("Diapason").ClearContents
    End With
    End Sub

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

    Итак, первая строка:

    Sub DataEntryForm()

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

    Везде, где встречается в коде слово «Producty» вы должны его заменить на то наименование, которое ранее присвоили для своего листа в поле «(Name)» области «Properties» редактора макросов. Естественно, это нужно делать только в том случае, если вы назвали лист по-другому.

    Наименование для листа в Microsoft Excel

    Теперь рассмотрим такую строку:

    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row

    Цифра «2» в данной строчке означает второй столбец листа. Именно в этом столбце находится колонка «Наименование товара». По ней мы будем считать количество рядов. Поэтому, если в вашем случае аналогичный столбец имеет другой порядок по счету, то нужно ввести соответствующее число. Значение «End(xlUp).Offset(1, 0).Row» в любом случае оставляем без изменений.

    Второй столбец таблицы в Microsoft Excel

    Далее рассмотрим строку

    If .Range("A2").Value = "" And .Range("B2").Value = "" Then

    «A2» — это координаты первой ячейки, в которой будет выводиться нумерация строк. «B2» — это координаты первой ячейки, по которой будет производиться вывод данных («Наименование товара»). Если они у вас отличаются, то введите вместо этих координат свои данные.

    Две первые ячейки таблицы с данными в Microsoft Excel

    Переходим к строке

    Producty.Range("Name").Copy

    В ней параметр «Name» означат имя, которое мы присвоили полю «Наименование товара» в форме ввода.

    Имя поля наименования товара в форме ввода в Microsoft Excel

    В строках


    .Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
    .Cells(nextRow, 3).Value = Producty.Range("Volum").Value
    .Cells(nextRow, 4).Value = Producty.Range("Price").Value
    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value

    наименования «Volum» и «Price» означают названия, которые мы присвоили полям «Количество» и «Цена» в той же форме ввода.

    Наименование полей количество и цена в Microsoft Excel

    В этих же строках, которые мы указали выше, цифры «2», «3», «4», «5» означают номера столбцов на листе Excel, соответствующих колонкам «Наименование товара», «Количество», «Цена» и «Сумма». Поэтому, если в вашем случае таблица сдвинута, то нужно указать соответствующие номера столбцов. Если столбцов больше, то по аналогии нужно добавить её строки в код, если меньше – то убрать лишние.

    Колонки в таблице в Microsoft Excel

    В строке производится умножение количества товара на его цену:

    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value

    Результат, как видим из синтаксиса записи, будет выводиться в пятый столбец листа Excel.

    Колонка для вывода суммы в Microsoft Excel

    В этом выражении выполняется автоматическая нумерация строк:


    If nextRow > 2 Then
    Range("A2").Select
    Selection.AutoFill Destination:=Range("A2:A" & nextRow)
    Range("A2:A" & nextRow).Select
    End If

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

    Столбец с нумерацией в Microsoft Excel

    В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:

    .Range("Diapason").ClearContents

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

    Наименование полей для ввода данных в Microsoft Excel

    Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.

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

  53. Код в редакторе макросов в Microsoft Excel

  54. После этого возвращаемся на лист Excel. Теперь нам следует разместить кнопку, которая будет активировать созданный макрос. Для этого переходим во вкладку «Разработчик». В блоке настроек «Элементы управления» на ленте кликаем по кнопке «Вставить». Открывается перечень инструментов. В группе инструментов «Элементы управления формы» выбираем самый первый – «Кнопка».
  55. Выбор элемента управления в Microsoft Excel

  56. Затем с зажатой левой клавишей мыши обводим курсором область, где хотим разместить кнопку запуска макроса, который будет производить перенос данных из формы в таблицу.
  57. Указание границ кнопки в Microsoft Excel

  58. После того, как область обведена, отпускаем клавишу мыши. Затем автоматически запускается окно назначения макроса объекту. Если в вашей книге применяется несколько макросов, то выбираем из списка название того, который мы выше создавали. У нас он называется «DataEntryForm». Но в данном случае макрос один, поэтому просто выбираем его и жмем на кнопку «OK» внизу окна.
  59. Окно назначения макроса объекту в Microsoft Excel

  60. После этого можно переименовать кнопку, как вы захотите, просто выделив её текущее название.
    Переименовывание кнопки в Microsoft Excel

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

  61. Кнопка переименована в Microsoft Excel

  62. Итак, наша форма полностью готова. Проверим, как она работает. Вводим в её поля необходимые значения и жмем на кнопку «Добавить».
  63. Ввод данных в форму в Microsoft Excel

  64. Как видим, значения перемещены в таблицу, строке автоматически присвоен номер, сумма посчитана, поля формы очищены.
  65. Значения первой строки внесены в таблицу в Microsoft Excel

  66. Повторно заполняем форму и жмем на кнопку «Добавить».
  67. Повторный ввод данных в форму в Microsoft Excel

  68. Как видим, и вторая строка также добавлена в табличный массив. Это означает, что инструмент работает.

Вторая строка добавлена в таблицу в Microsoft Excel

Читайте также:
Как создать макрос в Excel
Как создать кнопку в Excel

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

Excel 2021 Excel 2019 Excel 2016 Excel 2013 Office для бизнеса Excel 2010 Excel 2007 Еще…Меньше

Сводка

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

Дополнительные сведения об элементе управления формы в Excel см. в ActiveX формах и формах.

Дополнительные сведения

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

Включить вкладку «Разработчик»

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

  1. Откройте вкладку Файл и выберите команду Параметры.
    параметры файла

  2. Нажмите кнопку Настроить ленту в области слева.
    настройка ленты

  3. В правой области Основные вкладки выберите разработчик и нажмите кнопку ОК.

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

  1. Нажмите кнопку Microsoft Office, а затем — Параметры Excel.
    Параметры файлов в Excel 2007

  2. Щелкните Популярные,выберите вкладкуПоказать вкладку «Разработчик» на ленте и нажмите кнопку ОК.
    Лента

Настройка списка, ссылки на ячейку и индекса

  1. Введите на новый таблицу следующие элементы в диапазоне H1:H20:

    H1: ОльговСкие о-ва

    H2: VCR

    H3 : Desk

    H4 : Ольга

    H5 : Автомобиль

    H6 : Компьютер-автомат

    H7 : Rocket Launcher

    H8 : велосипед

    H9 : Телефон

    H10: Сша

    H11: Конфеты

    H12: динамики

    H13: дресс

    H14: Одея

    H15: Dryer

    H16: Гоголев

    H17: сухи

    H18: набор инструментов

    H19: VCR

    H20: жесткий диск

  2. В ячейке A1 введите следующую формулу:

    =ИНДЕКС(H1:H20;G1;0)

Пример списка

  1. Чтобы добавить список в Excel 2007 и более поздних версиях, на вкладке Разработчик в группе Элементы управления нажмите кнопку Вставить, а затем в группе Элементы управления формы выберите элемент Форма списка (элемент управления).

    элементы управления формы
    Чтобы добавить список в Excel 2003 и более ранних версиях Excel, нажмите кнопку Список на панели инструментов Формы. Если панель инструментов Формы не отображается, найдите в меню Вид пункт Панели инструментов и выберите пункт Формы.

  2. Щелкните место на листе, где должен отображаться левый верхний угол списка, и перетащите его в то место, где должен быть нижний правый угол списка. В этом примере создайте список для ячеек B2:E10.

  3. В группе Элементы управления нажмите кнопку Свойства.
    свойство contrl

  4. В окне Формат объекта введите следующие данные и нажмите кнопку ОК.

    1. Чтобы указать диапазон для списка, введите H1:H20 в поле Диапазон ввода.

    2. Чтобы поместить число в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Связь с ячейкой.

      Примечание: Формула ИНДЕКС() использует значение в G1 для возврата правильного элемента списка.

    3. Убедитесь,что в области Тип выделения выбран вариант Один.

      Примечание:  Параметры Multi и Extend полезны только при использовании процедуры Microsoft Visual Basic для приложений для возврата значений списка. Обратите внимание также на то, что при этом к списку добавляется объемный вид.

      форматирование объекта

  5. В списке должен отображаться список элементов. Чтобы использовать список, щелкните любую ячейку, чтобы он не был выбран. Если щелкнуть элемент в списке, ячейка G1 будет обновлена на число, которое указывает положение элемента, выбранного в списке. Формула ИНДЕКС в ячейке A1 использует это число для отображения имени элемента.

Пример «Поле со combo»

  1. Чтобы добавить поле со полем со Excel 2007 и более поздних версий, на вкладке Разработчик нажмите кнопку Вставить ивыберите поле со полем со полем в области Элементы управления формы.

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

  2. Щелкните место на листе, где должен отображаться левый верхний угол списка, а затем перетащите поле со списком в то место, где должен быть нижний правый угол списка. В этом примере создайте поле соbo, которое охватывает ячейки B2:E2.
    place combobox

  3. Щелкните правой кнопкой мыши поле со полем и выберите форматирование.
    форматирование

  4. Введите следующую информацию и нажмите кнопку ОК.

    1. Чтобы указать диапазон для списка, введите H1:H20 в поле Диапазон ввода.

    2. Чтобы поместить число в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Связь с ячейкой.
       

      Примечание: Формула ИНДЕКС использует значение в G1 для возврата правильного элемента списка.

    3. В поле Drop down lines (Вниз) введите 10. Эта запись определяет, сколько элементов будет отображаться перед использованием точки прокрутки для просмотра других элементов.

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

      вкладка "Управление"

  5. В поле со списком должен отображаться список элементов. Чтобы использовать поле со полем со ссылкой или полем со ссылкой, щелкните любую ячейку, чтобы объект не был выбран. При щелчке элемента в поле со списком или в поле со списком ячейка G1 обновляется на число, которое указывает на положение в списке выбранного элемента. Формула ИНДЕКС в ячейке A1 использует это число для отображения имени элемента.

Пример счетчика

  1. Чтобы добавить счетчик в Excel 2007 и более поздних версиях, на вкладке Разработчик нажмите кнопку Вставить ив области Элементы управления формынажмите кнопку Счетчик.

    счетчик
    Чтобы добавить счетчик в Excel 2003 и более ранних версиях Excel, нажмите кнопку Счетчик на панели инструментов Формы.

  2. Щелкните место, где должен отображаться левый верхний угол счетчика, и перетащите его в то место, где должен быть нижний правый угол счетчика. В этом примере создайте счетчик, который охватывает ячейки B2: B3.

  3. Щелкните правой кнопкой мыши счетчик и выберите форматирование.
    счетчик управления форматом

  4. Введите следующую информацию и нажмите кнопку ОК.

    1. В поле Текущее значение введите 1.

      Это значение инициализирует счетчик, чтобы формула ИНДЕКС укачивает на первый элемент в списке.

    2. В поле Минимальное значение введите 1.

      Это значение ограничивает верхнюю часть счетчика первым элементом в списке.

    3. В поле Максимальное значение введите 20.

      Это число определяет максимальное количество записей в списке.

    4. В поле Приращение введите 1.

      Это значение управляет приращением текущего значения при счетчике.

    5. Чтобы поместить число в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Связь с ячейкой.
      поле ссылки на ячейку

  5. Щелкните любую ячейку, чтобы счетчик не был выбран. При нажатии на счетчик элемента управления вверх или вниз ячейка G1 обновляется на число, которое указывает текущее значение счетчика плюс или минус добавочная смена счетчика. Это число затем обновляет формулу ИНДЕКС в ячейке A1 для показа следующего или предыдущего элемента.

    Значение счетчика не изменится, если текущее значение — 1, если щелкнуть вниз или если текущее значение 20 и при нажатии кнопки вверх.

Пример scroll bar

  1. Чтобы добавить полоса прокрутки в Excel 2007 и более поздних версиях, на вкладке Разработчик нажмите кнопку Вставить ив области Элементы управления формы выберите элемент Полоса прокрутки.

    scroll bar
    Чтобы добавить в Excel 2003 и более ранних версиях Excel, нажмите кнопку Scroll Bar на панели инструментов Формы.

  2. Щелкните место, где должен отображаться левый верхний угол ручья, и перетащите его в то место, где должен быть нижний правый угол ручья. В этом примере создайте полосу прокрутки, которая по высоте охватывает ячейки B2:B6 и занимает около одной четвертой ширины столбца.
    place scoll bar

  3. Щелкните правой кнопкой мыши прокрутку и выберите форматирование.
    Управление форматом отсчета в виде слога

  4. Введите следующую информацию и нажмите кнопку ОК.

    1. В поле Текущее значение введите 1.

      Это значение инициализирует ось прокрутки, чтобы формула ИНДЕКС укачивала на первый элемент в списке.

    2. В поле Минимальное значение введите 1.

      Это значение ограничивает верхнюю часть верхней части ручека первым элементом в списке.

    3. В поле Максимальное значение введите 20. Это число определяет максимальное количество записей в списке.

    4. В поле Приращение введите 1.

      Это значение управляет тем, сколько чисел приращение текущего значения на панели прокрутки.

    5. В поле Изменение страницы введите 5. Это значение управляет тем, насколько приращением будет текущее значение, если щелкнуть в окне прокрутки с обеих сторон окна прокрутки.

    6. Чтобы поместить число в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Связь с ячейкой.
      поле ссылки на ячейку

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

  5. Щелкните любую ячейку, чтобы не выделить прокрутку. При нажатии на элемент управления прокрутки вверх или вниз ячейка G1 обновляется на число, которое указывает текущее значение крутки в плюс или минус добавочная смена крутки. Это число используется в формуле ИНДЕКС в ячейке A1 для показа элемента рядом с текущим элементом или перед этим. Вы также можете перетащить поле прокрутки, чтобы изменить значение, или щелкнуть в окне прокрутки с обеих сторон, чтобы приращение на 5 (значение изменения страницы). Прокрутка не изменится, если текущее значение — 1, если щелкнуть вниз или если текущее значение — 20 и вы щелкаете его вверх.

Нужна дополнительная помощь?

Ранее я рассмотрел методы создания пользовательских форм и основы работы с ними (если вы никогда не работали с пользовательскими формами, рекомендую для начала прочитать указанную заметку). В настоящем материале приводится целый ряд практически полезных примеров пользовательских диалоговых окон.[1]

Рис. 1. Меню на основе элементов управления CommandButton или ListBox

Скачать заметку в формате Word или pdf, примеры в архиве

Создание меню

Меню можно создать с помощью элементов управления CommandButton (рис. 1; см. файл userform menus.xlsm) и с помощью элемента управления ListBox. Каждый элемент управления CommandButton имеет собственную процедуру обработки событий. Например, представленная ниже процедура выполняется после щелчка на кнопке CommandButton1:

Private Sub CommandButton1_Click()

    Me.Hide

    Call Macro1

    Unload Me

End Sub

Эта процедура приводит к вызову макроса Macro1 и закрытию диалогового окна UserForm. После щелчка на других кнопках (отличных от CommandButton1) вызываются похожие процедуры обработки событий.

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

Private Sub UserForm_Initialize()

    With ListBox1

        .AddItem «Макрос1»

        .AddItem «Макрос2»

        .AddItem «Макрос3»

        .AddItem «Макрос4»

        .AddItem «Макрос5»

        .AddItem «Макрос6»

    End With

End Sub

Процедура обработки события привязывается к кнопке Выполнить:

Private Sub ExecuteButton_Click()

    Select Case ListBox1.ListIndex

        Case 1

            MsgBox «Выберите макрос из списка.»

            Exit Sub

        Case 0: Me.Hide: Call Macro1

        Case 1: Me.Hide: Call Macro2

        Case 2: Me.Hide: Call Macro3

        Case 3: Me.Hide: Call Macro4

        Case 4: Me.Hide: Call Macro5

        Case 5: Me.Hide: Call Macro6

    End Select

    Unload Me

End Sub

Данная процедура проверяет значение свойства Listlndex элемента управления ListBox, чтобы определить, какой элемент выбран в списке (если свойство Listlndex равно –1, то не выбран ни один из элементов). После этого запускается соответствующий макрос.

Выбор диапазона в пользовательской форме

Некоторые встроенные диалоговые окна Excel предоставляют пользователю возможность выбирать диапазон. Например, диалоговое окно Подбор параметра, для вызова которого следует пройти по меню Данные –> Работа с данными –> Анализ «что если « –> Подбор параметра, запрашивает у пользователя два диапазона. Пользователь может или ввести имя диапазона непосредственно в окне, или применить мышь для выделения диапазона на листе.

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

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

На рис. 2 представлено пользовательское диалоговое окно с добавленным элементом управления RefEdit (см. файл range selection demo.xlsm). Это диалоговое окно выполняет простую математическую операцию над всеми не содержащими формул и непустыми ячейками указанного диапазона. Выполняемая операция задается активным переключателем OptionButton.

Рис. 2. С помощью элемента управления RefEdit можно выбрать диапазон

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

Set UserRange = Range(RefEditl.Text)

Удачной практикой считается инициализация элемента управления RefEdit для представления текущего выделения. Для этого в процедуре UserForm_Initialize воспользуйтесь оператором:

RefEditl.Text = ActiveWindow.RangeSelection.Address

Для достижения наилучших результатов не помещайте элемент управления RefEdit внутри элемента Frame либо MultiPage. Это может привести к сбою в работе Excel. Элемент управления RefEdit не всегда возвращает действительный диапазон. Выделение диапазона указателем мыши — это один из способов присвоения значения данному элементу управления. Пользователь может ввести в поле любой текст, а также отредактировать или удалить уже отображаемый текст. Таким образом, предварительно необходимо убедиться, что диапазон является допустимым.

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

    On Error Resume Next

    Set UserRange = Range(RefEdit1.Text)

    If Err <> 0 Then

        MsgBox «Выбран некорректный диапазон»

        RefEdit1.SetFocus

        Exit Sub

    End If

    On Error GoTo 0

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

Set OneCell = Range(RefEditl.Text).Range("Al")

Создание заставки

Некоторые разработчики предпочитают отображать определенную вступительную информацию при запуске приложения. Эта методика называется заставкой. Без сомнения, все пользователи видели заставку Excel, которая отображается несколько секунд при запуске программы. В приложении Excel заставку можно создать с помощью пользовательского диалогового окна. В приведенном ниже примере реализуется автоматическое отображение заставки, которое исчезает по истечении пяти секунд (рис. 3; см. файл splash screen.xlsm). Для создания заставки выполните следующие действия:

  1. Создайте рабочую книгу.
  2. Активизируйте редактор VBE и вставьте пользовательское диалоговое окно в проект. Код в этом примере предполагает, что объект UserForm называется UserForm1.
  3. Поместите любые необходимые элементы управления в только что созданное диалоговое окно UserForm1. Например, вам может понадобиться расположить элемент управления Image, который будет содержать логотип компании (рис. 3).
  4. Вставьте процедуру в модуль кода для объекта ЭтаКнига (ThisWorkbook):

Private Sub Workbook_Open()

    UserForm1.Show

End Sub

  1. Вставьте следующую процедуру в модуль кода для объекта UserForm1 (эта процедура обеспечивает пятисекундную задержку). Если нужно другое время задержки, измените значение аргумента функции TimeValue.

Private Sub UserForm_Activate()

    Application.OnTime Now + TimeValue(«00:00:05»), «KillTheForm»

End Sub

Рис. 3. Эта заставка на короткое время появляется на экране после открытия рабочей книги

  1. В общий модуль VBA вставьте следующую процедуру.

Private Sub KillTheForm()

    Unload UserForm1

End Sub

При открытии рабочей книги будет выполнена процедура Workbook_Open и появится диалоговое окно UserForm (п. 4). В этот момент генерируется событие Activate, которое приводит к выполнению процедуры UserForm_ Activate (п. 5). Данная процедура использует метод OnTime объекта Application для выполнения процедуры KillTheForm в определенный момент времени. Однако предварительно определена задержка в пять секунд с момента возникновения события Activate. Процедура KillTheForm просто выгружает диалоговое окно UserForm из памяти.

  1. В качестве необязательного действия можно добавить элемент управления CommandButton с именем CancelButton, установить его свойство Cancel равным True и добавить представленную ниже процедуру обработки события в модуль кода формы UserForm.

Private Sub CancelButton_Click()

    Unload Me

End Sub

Таким образом, пользователь сможет закрыть заставку, прежде чем пройдет указанное время задержки. Окно будет закрыто также в результате нажатия клавиши <Esc>. Эту небольшую кнопку можно разместить за другим объектом, чтобы она не была видна.

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

Для того чтобы выполнить VBA-процедуру при открытии документа, нужно так отобразить пользовательское диалоговое окно в немодальном режиме, чтобы код продолжал выполняться. Для этого измените процедуру WorkbookOpen следующим образом.

Private Sub Workbook_Open()

    UserForml.Show vbModeless

     другой код

End Sub

Отключение кнопки закрытия пользовательского диалогового окна

Если пользовательское диалоговое окно уже отображено на экране, щелчок на кнопке Закрыть в правом верхнем углу приведет к выгрузке формы UserForm из памяти. Иногда этого допускать нельзя. Например, иногда требуется, чтобы диалоговое окно UserForm закрывалось только после щелчка на специальной кнопке CommandButton. Несмотря на то что реально отключить кнопку Закрыть невозможно, вы вправе предотвратить закрытие диалогового окна, вызванное щелчком на этой кнопке. Для этого воспользуйтесь обработчиком события QueryClose (см. файл gueryclose demo.xlsm). Следующая процедура, которая расположена в модуле кода диалогового окна UserForm, выполняется перед закрытием формы (т.е. в момент возникновения события QueryClose).

Private Sub UserForm_QueryClose _

  (Cancel As Integer, CloseMode As Integer)

    If CloseMode = vbFormControlMenu Then

        MsgBox «Щелкните на кнопке OK для закрытия формы.»

        Cancel = True

    End If

End Sub

Процедура UserForm_QueryClose использует два аргумента. Аргумент CloseMode содержит значение, которое указывает на причину возникновения события QueryClose. Если значение аргумента CloseMode равно vbFormControlMenu (встроенная константа), значит, пользователь щелкнул на кнопке Закрыть. В таком случае будет отображено сообщение (рис. 4); аргумент Cancel устанавливается равным True, и форма не закрывается.

Рис. 4. Процедура перехватывает закрытие окна, и оставляет его открытым

Имейте в виду, что пользователь может нажать клавиши <Ctrl+Break>, прекратив тем самым выполнение макроса. В рассматриваемом примере нажатие клавиш <Ctrl+Break> во время отображения формы UserForm на экране приведет к тому, что пользовательское диалоговое окно будет закрыто. Во избежание этого выполните следующий оператор до отображения пользовательского диалогового окна:

Application.EnableCancelKey = xlDisabled

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

Изменение размера диалогового окна

Во многих приложениях используются окна, которые могут изменять собственные размеры, добавляя кнопки и опции. Например, высота диалогового окна Excel Найти и заменить, которое отображается после выбора команды Главная –> Редактирование –> Найти и выделить –> Заменить, увеличивается после щелчка на кнопке Параметры.

Изменение размеров пользовательского диалогового окна осуществляется путем изменения значений свойств Width и Height объекта UserForm. На рис. 5а показано первоначальное диалоговое окно, а на рис. 5б показано это же окно после щелчка на кнопке Параметры. Обратите внимание на то, что надпись на кнопке изменяется в зависимости от размера диалогового окна (см. файл change userform size.xlsm).

Рис. 5. Диалоговое окно: вверху – в стандартном режиме; внизу – после нажатия на кнопке Параметры

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

В коде применяются две константы, определенные в верхней части модуля.

Const SmallSize As Integer = 124
Const LargeSize As Integer = 164

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

Private Sub OptionsButton_Click()

    If OptionsButton.Caption = «Параметры >>» Then

        Me.Height = LargeSize

        OptionsButton.Caption = «<< Параметры»

    Else

        Me.Height = SmallSize

        OptionsButton.Caption = «Параметры >>»

    End If

End Sub

Эта процедура проверяет значение свойства Caption объекта CommandButton и устанавливает значение свойства Height объекта UserForm в соответствии с полученным значением свойства Caption.

Если элементы управления не отображаются из-за того, что находятся за пределами границы диалогового окна, соответствующие этим элементам управления комбинации клавиш будут продолжать функционировать. В рассматриваемом примере пользователь может нажать клавиши <Alt+L> (для выбора альбомной ориентации страницы), даже если соответствующий элемент управления не отображается на экране.

Масштабирование и прокрутка листа в пользовательском диалоговом окне

Для прокрутки и масштабирования листа при активном диалоговом окне можно применить элемент управления ScrollBar (рис. 6; см. файл zoom and scroll sheet.xlsm). В этом примере масштаб можно изменять в диапазоне от 100 до 400%. Два элемента управления ScrollBar в нижней части диалогового окна позволяют прокручивать лист по горизонтали и по вертикали.

Рис. 6. Элементы управления ScrollBar позволяют прокручивать лист и изменять его масштаб

Элементы управления инициализируются в процедуре UserForm_Initialize:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

Private Sub UserForm_Initialize()

    LabelZoom.Caption = ActiveWindow.Zoom & «%»

‘   Масштабирование

    With ScrollBarZoom

        .Min = 10

        .Max = 400

        .SmallChange = 1

        .LargeChange = 10

        .Value = ActiveWindow.Zoom

    End With

   Прокрутка по горизонтали

    With ScrollBarColumns

        .Min = 1

        .Max = ActiveSheet.UsedRange.Columns.Count

        .Value = ActiveWindow.ScrollColumn

        .LargeChange = 25

        .SmallChange = 1

    End With

   Прокрутка по вертикали

    With ScrollBarRows

        .Min = 1

        .Max = ActiveSheet.UsedRange.Rows.Count

        .Value = ActiveWindow.ScrollRow

        .LargeChange = 25

        .SmallChange = 1

    End With

End Sub

Эта процедура позволяет устанавливать значения различных свойств элементов управления ScrollBar. Значения определяются на основе данных, полученных из активного окна. При использовании элемента управления ScrollBarZoom выполняется процедура ScrollBarZoom_Change. Она устанавливает значение свойства Zoom объекта ActiveWindow равным значению свойства Value элемента управления ScrollBar. Кроме того, изменяется текст подписи, которая представляет текущий масштаб рабочего листа.

Private Sub ScrollBarZoom_Change()

    With ActiveWindow

        .Zoom = ScrollBarZoom.Value

        LabelZoom = .Zoom & «%»

        .ScrollColumn = ScrollBarColumns.Value

        .ScrollRow = ScrollBarRows.Value

    End With

End Sub

Прокрутка листа осуществляется с помощью двух процедур. Эти процедуры устанавливают значение свойств ScrollRow и ScrollColumns объекта ActiveWindow равными значениям свойств Value элементов управления ScrollBar.

Private Sub ScrollBarColumns_Change()

    ActiveWindow.ScrollColumn = ScrollBarColumns.Value

End Sub

Private Sub ScrollBarRows_Change()

    ActiveWindow.ScrollRow = ScrollBarRows.Value

End Sub

При нажатии на кнопку Ok пользовательская форма закрывается:

Private Sub OKButton_Click()

    Unload Me

End Sub

Применение элемента управления MultiPage

Элемент управления MultiPage применяется при отображении в пользовательских диалоговых окнах множества элементов управления. Элемент управления MultiPage позволяет группировать опции, а также размещать каждую группу на отдельной вкладке (рис. 7; см. файл multipage control demo.xlsm). Панель инструментов Toolbox также включает элемент управления TabStrip, напоминающий элемент управления MultiPage. Однако в отличие от MultiPage, элемент управления TabStrip не может включать другие объекты. Поскольку элемент управления MultiPage является более гибким, вряд ли вам придется обращаться к элементу управления TabStrip.

Рис. 7. Элемент управления MultiPage группирует элементы управления на страницах, доступ к которым обеспечивается с вкладки

Вкладка (или страница), которая отображается поверх всех остальных, определяется значением свойства Value элемента управления MultiPage. Значение 0 соответствует первой вкладке. Значение 1 вызывает отображение второй вкладки и т.д. По умолчанию элемент управления MultiPage состоит из двух страниц. Для того чтобы добавить дополнительные вкладки, щелкните на любой вкладке правой кнопкой мыши и в контекстном меню выберите пункт New Page.

При работе с элементом управления MultiPage щелкните на вкладке, чтобы установить свойства страницы. В окне Properties отобразятся свойства, значения которых можно изменить. Иногда сложно выделить сам элемент управления MultiPage, так как щелчок на нем приводит к выделению страницы элемента управления. Для того чтобы выделить только элемент управления, щелкните на его границе. Кроме того, можете воспользоваться клавишей <Таb> для циклического перемещения между элементами управления. Еще одним вариантом выделения элемента управления является выбор пункта MultiPage из раскрывающегося списка окна Properties.

Если элемент управления MultiPage содержит много вкладок, то присвойте его свойству MultiRow значение True, чтобы отобразить вкладки в несколько строк. Если необходимо, то вместо вкладок можно отображать кнопки. Достаточно изменить значение свойства Style на 1. Если значение свойства Style равно 2, элемент управления MultiPage не будет отображать ни вкладки, ни кнопки.

Свойство TabOrientation определяет расположение вкладок на элементе управления MultiPage. Для каждой страницы можно установить эффект перехода. Для этого воспользуйтесь свойством TransitionEffect. Например, щелчок на вкладке приведет к тому, что новая страница «отодвинет» старую. Применяйте свойство TransitionPeriod, чтобы задать скорость эффекта перехода.

Использование внешних элементов управления

Пример, рассматриваемый в этом разделе, основан на элементе управления Microsoft Windows Media Player. Несмотря на то что он не является элементом управления Excel (настраивается при установке Windows), он прекрасно работает с формами UserForm. Для того чтобы воспользоваться элементом управления Microsoft Windows Media Player выполните следующие действия:

  1. Активизируйте среду VBE.
  2. Создайте новую пользовательскую форму: Insert –> UserForm.
  3. Щелкните правой кнопкой мыши на панели Toolbox и в контекстном меню выберите параметр Additional Controls (Дополнительные элементы управления). Если окно Toolbox не отображается, выполните команду View –> Toolbox.
  4. В окне Additional Controls установите флажок Windows Media Player (рис. 8).
  5. Щелкните на кнопке ОК. Набор инструментов пополнится новым элементом управления.

Рис. 8. Подключение элемента управления Microsoft Windows Media Player

На рис. 9 показаны элемент управления Windows Media Player, встроенный в форму UserForm, а также окно Properties (см. также файл mediaplayer.xlsm, расположенный в отдельной папке). Свойство URL определяет URL-ссылку воспроизводимой композиции (музыкальная запись или видеоролик). Если композиция находится на жестком диске вашего компьютера, свойство URL определяет полный путь и имя соответствующего файла.

Рис. 9. Элемент управления Windows Media Player, встроенный в форму

На рис. 10 показан пример использования этого элемента управления. Для сокрытия окна, предназначенного для отображения видеороликов, была уменьшена высота окна элемента управления Windows Media Player. Также был добавлен список, созданный на основе элемента управления ListBox, в котором отображаются аудиофайлы MP3. После щелчка на кнопке Пуск начинается воспроизведение выбранного файла. Щелчок на кнопке Закрыть приведет к прекращению воспроизведения и к закрытию окна UserForm. Форма UserForm отображается в немодальном режиме, поэтому можно продолжать работу во время отображения диалогового окна.

Рис. 10. Элемент управления Windows Media Player в действии

Названия МРЗ-файлов в окне списка отображаются с помощью процедуры UserForm_Initialize. В целях упрощения алгоритма аудофайлы находятся в той же папке, что и рабочая книга. Можно реализовать и более гибкий подход, предусматривающий выбор пользователем папки, содержащей требуемые аудиофайлы.

Private Sub UserForm_Initialize()

    Dim FileName As String

   Заполнение списка MP3файлами

    FileName = Dir(ThisWorkbook.Path & «*.mp3», vbNormal)

    Do While Len(FileName) > 0

        ListBox1.AddItem FileName

        FileName = Dir()

    Loop

    ListBox1.ListIndex = 0

End Sub

Код обработчика событий PlayButton_Click включает единственный оператор, который присваивает выбранное имя файла свойству URL объекта WindowsMediaPlayer1.

Private Sub PlayButton_Click()

   Свойство URL загружает трек и запускает плеер

    WindowsMediaPlayer1.URL = _

      ThisWorkbook.Path & «« & ListBox1.List(ListBox1.ListIndex)

End Sub

Анимация элемента управления Label

Форма UserForm (рис. 11) представляет собой интерактивный генератор случайных чисел. Два элемента управления TextBox содержат верхнее и нижнее значения для случайного числа. Элемент управления Label изначально отображает четыре знака вопроса, а после щелчка мышью на кнопке Пуск отображаются анимированные случайные числа. При этом кнопка Пуск превращается в кнопку Остановить, а щелчок на ней мышью приводит к прекращению анимации и отображению случайного числа. Код, связанный с кнопкой генератора случайных чисел можно найти в модуле UserForm1 файла random number generator.xlsm.

Рис. 11. Генератор случайных чисел

Поскольку кнопка выполняет две функции (запуск и остановка анимации), в процедуре используется общедоступная переменная Stopped, с помощью которой отслеживается состояние кнопки. Первая часть процедуры состоит из двух структур If-Then, с помощью которых проверяется содержимое элементов управления TextBox. Два другая подобных оператора позволяют удостовериться в том, что меньшая величина действительно не превосходит большей величины. В следующем разделе кода осуществляется настройка размера шрифта элемента управления Label на основании максимальной величины. Цикл Do Until loop генерирует и отображает случайные числа. Обратите внимание на оператор DoEvents. Он позволяет Excel использовать все возможности операционной системы. Если бы его не было, элемент управления Label не смог бы отобразить каждое генерируемое случайное число. Другими словами, именно оператор DoEvents делает возможной анимацию.

Форма UserForm также включает элемент управления CommandButton, который выполняет функции кнопки Отмена. Этот элемент управления находится за пределами окна UserForm, поэтому невидим. Свойству Cancel элемента управления CommandButton присвоено значение True. Вследствие этого нажатие клавиши <Esc> дает тот же эффект, что и щелчок на кнопке Отмена. Соответствующая процедура обработки событий присваивает переменной Stopped значение True и выгружает форму UserForm.

[1] По материалам книги Джон Уокенбах. Excel 2010. Профессиональное программирование на VBA. – М: Диалектика, 2013. – С. 439–449, 466–472.

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

Начинаем программировать с нуля
Часть 4. Первая форма
[Часть 1] [Часть 2] [Часть 3] [Часть 4]

Создание пользовательской формы

Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) или с расширением .xls в старых версиях приложения.

Перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».

В открывшемся окне редактора VBA выберите вкладку «Insert» главного меню и нажмите кнопку «UserForm». То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.

На экране редактора VBA появится новая пользовательская форма с именем «UserForm1»:

Добавление элементов управления

Обычно вместе с пользовательской формой открывается панель инструментов «Toolbox», как на изображении выше, с набором элементов управления формы. Если панель инструментов «Toolbox» не отобразилась, ее можно вызвать, нажав кнопку «Toolbox» во вкладке «View»:

При наведении курсора на элементы управления появляются подсказки.

Найдите на панели инструментов «Toolbox» элемент управления с подсказкой «TextBox», кликните по нему и, затем, кликните в любом месте рабочего поля формы. Элемент управления «TextBox» (текстовое поле) будет добавлен на форму.

Найдите на панели инструментов «Toolbox» элемент управления с подсказкой «CommandButton», кликните по нему и, затем, кликните в любом месте рабочего поля формы. Элемент управления «CommandButton» (кнопка) будет добавлен на форму.

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

Нажатием клавиши «F4» вызывается окно свойств, с помощью которого можно вручную задавать значения свойств пользовательской формы и элементов управления. В окне свойств отображаются свойства выбранного элемента управления или формы, если выбрана она. Также окно свойств можно вызвать, нажав кнопку «Properties Window» во вкладке «View».

Отображение формы на экране

Чтобы запустить пользовательскую форму для просмотра из редактора VBA, необходимо выбрать ее, кликнув по заголовку или свободному от элементов управления полю, и совершить одно из трех действий:

  • нажать клавишу «F5»;
  • нажать на треугольник на панели инструментов (на изображении выше треугольник находится под вкладкой «Debug»);
  • нажать кнопку «Run Sub/UserForm» во вкладке «Run».

Для запуска пользовательской формы с рабочего листа Excel, можно использовать кнопки, описанные в этой статье. Например, чтобы отобразить форму с помощью «кнопки – элемента ActiveX», используйте в модуле рабочего листа следующий код:

Private Sub CommandButton1_Click()

    UserForm1.Show

End Sub

Для «кнопки – элемента управления формы» можно использовать следующий код, размещенный в стандартном программном модуле:

Sub ShowUserForm()

    UserForm1.Show

End Sub

В результате вышеперечисленных действий мы получаем на рабочем листе Excel пользовательскую форму с мигающим курсором в текстовом поле:

Добавление программного кода

Программный код для пользовательской формы и элементов управления формы записывается в модуль формы. Перейти в модуль формы можно через контекстное меню, кликнув правой кнопкой мыши на поле формы или на ссылке «UserForm1» в проводнике слева и нажав кнопку «View Code».

Переходить между открытыми окнами в редакторе VBA можно через вкладку «Window» главного меню.

Изменить название пользовательской формы и элементов управления, их размеры и другие свойства можно через окно свойств (Properties Window), которое можно отобразить клавишей «F4». Мы же это сделаем с помощью кода VBA Excel, записанного в модуль формы.

Откройте модуль формы, кликнув правой кнопкой мыши по форме и нажав кнопку «View Code» контекстного меню. Скопируйте следующий код VBA, который будет задавать значения свойств формы и элементов управления перед ее отображением на экране:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

Private Sub UserForm_Initialize()

    ‘Me — это обращение к форме в ее модуле

    With Me

        ‘Присваиваем форме заголовок

        .Caption = «Новая форма»

        ‘Задаем ширину формы

        .Width = 300

        ‘Задаем высоту формы

        .Height = 150

    End With

    With TextBox1

        ‘Задаем ширину текстового поля

        .Width = 200

        ‘Задаем высоту текстового поля

        .Height = 20

        ‘Задаем расстояние от внутреннего края

        ‘формы сверху до текстового поля

        .Top = 30

        ‘Задаем расстояние от внутреннего края

        ‘формы слева до текстового поля, чтобы

        ‘текстовое поле оказалось по центру

        .Left = Me.Width / 2 .Width / 2 6

        ‘Задаем размер шрифта

        .Font.Size = 12

        ‘Присваиваем текст по умолчанию

        .Text = «Напишите что-нибудь своё!»

    End With

    With CommandButton1

        ‘Задаем ширину кнопки

        .Width = 70

        ‘Задаем высоту кнопки

        .Height = 25

        ‘Задаем расстояние от внутреннего края

        ‘формы сверху до кнопки

        .Top = 70

        ‘Задаем расстояние от внутреннего края

        ‘формы слева до кнопки, чтобы

        ‘кнопка оказалось по центру

        .Left = Me.Width / 2 .Width / 2 6

        ‘Задаем размер шрифта

        .Font.Size = 12

        ‘Присваиваем кнопке название

        .Caption = «OK»

    End With

End Sub

Вставьте скопированный код в модуль формы:

Познакомьтесь еще с одним способом отображения на экране пользовательской формы в процессе тестирования: установите курсор внутри процедуры UserForm_Initialize() и нажмите клавишу «F5» или треугольник на панели инструментов. Все предыдущие способы (с выбором формы в редакторе и кнопками на рабочем листе) тоже работают.

В результате мы получаем следующую форму:

Теперь перейдите в редактор VBA, откройте проект формы «UserForm1» и дважды кликните по кнопке «CommandButton1». В результате откроется модуль формы и будет создан шаблон процедуры CommandButton1_Click(), которая будет запускаться при нажатии кнопки:

Private Sub CommandButton1_Click()

End Sub

Вставьте внутрь шаблона процедуры CommandButton1_Click() следующую строку кода, которая будет копировать текст из текстового поля в ячейку «A1» активного рабочего листа:

Range(«A1») = TextBox1.Text

Отобразите пользовательскую форму на экране и проверьте работоспособность кнопки «OK».


Элементы управления формы в MS EXCEL

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

Для вставки элементов управления на лист необходимо отобразить вкладку Разработчик.

  • В MS EXCEL 2007 это можно сделать через меню Кнопка офис/ Параметры Excel/ Основные/ Показывать вкладку Разработчик на ленте .
  • В MS EXCEL 2010 это можно сделать так: Откройте вкладку Файл; Нажмите кнопку Параметры; Нажмите кнопку Настроить ленту; Выберите команду Настройка ленты и в разделе Основные вкладки установите флажок Разработчик.

Теперь вставить элемент управления можно через меню: Разработчик/ Элементы управления/ Вставить.

Обратите внимание, что в этом меню можно вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.

Для тех, кто не ранее не работал с Элементами управления формы, советуем подробно ознакомиться с ними в следующих статьях:

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

Разберем конкретный пример применения сразу нескольких Элементов управления. В файле примера с помощью элементов управления показано как пользователь может отредактировать значения в таблице (диапазон F9:K12).

С помощью одного из 3-х элементов управления Поле со списком, Список и Счетчик, пользователь может выбрать столбец таблицы (год). Нужный элемент управления выбирается с помощью группы Переключателей. Название выбранного элемента подсвечивается серым цветом (см. A8:B8 на рис. выше). Выбранный год выделяется в таблице Условным форматированием темно серым цветом (см. H9:H12 на рис. выше). Отображение этого выделения регулируется Флажком (фон флажка — красный). Полосами прокрутки можно редактировать Цену и Количество в выбранном году, но только в определенном диапазоне. Теперь – подробнее.

Переключатели

На листе использовано 3 Переключателя объединенных в Группу. Каждому Переключателю соответствует определенный элемент управления: Поле со списком, Список, Счетчик.

Для объединения Элементов в группу помещаем на лист Элемент управления Группа (через меню Разработчик/ Элементы управления/ Вставить). В рамках группы создаем 3 переключателя (также через меню Разработчик/ Элементы управления/ Вставить) и связываем их все с одной ячейкой С2 (выделив элемент управления, правой клавишей вызываем контекстное меню, Формат объекта…, вкладка Элемент управления).

Удерживая клавишу CTRL выделяем 3 переключателя и элемент Группа, вызываем правой клавишей мыши контекстное меню и выбираем Группировка/ Группировать. Теперь при выборе одного из трех Переключателей в Группе, в ячейке С2 будет выводиться значение 1, 2 или 3.

Поле со списком

Теперь вставим элемент управления Поле со списком. Вставить элемент можно через меню: Разработчик/ Элементы управления/ Вставить. В ячейках столбца М введем несколько значений лет: 2009, 2010, 2011, 2012, 2013. Эти значения будут использованы в элементе Поле со списком.

  • выделяем диапазон М9:М12;
  • нажимаем Формулы/ Определенные имена/ Присвоить имя;
  • в поле Имя вводим Список.

Теперь свяжем элемент управления с данными на листе. Для этого:

  • выделите элемент управления Поле со списком;
  • правой клавишей вызовите его контекстное меню, затем Формат объекта…, вкладка Элемент управления;
  • в поле Формировать список по диапазону вводим Список (вместо ссылки на ячейку мы ввели ссылку на определенное Имя!). Конечно, вместо имени можно было указать просто ссылку на диапазон;
  • свяжем элемент с ячейкой $C$8. В этой ячейке будет выводится порядковый номер выбранного элемента списка, т.е. если выберем 2009, то выведется 1, т.к. это первый элемент в списке. Для дальнейших целей нам проще использовать именно год, а не его порядковый номер. Для этого в ячейку D8 введем формулу =C8+2008 .

Список

Вставляем на лист элемент Список. Аналогично предыдущему элементу связываем его с ячейкой $C$13 и формируем список на основе того же Именованного диапазона Список. В ячейку D13 введем формулу =C13+2008 .

Счётчик

Вставляем на лист элемент Счетчик. Определяем минимальное значение 2009, максимальное – 2013, шаг 1. Связываем элемент с ячейкой $C$17. В D17 введем формулу =С17 , т.к. элемент Счетчик в нашем случае возвращает значение года.

Чтобы определить значение какого элемента (поле со списком, список или счетчик) является активным в настоящий момент, в ячейке E9 введем формулу: =ЕСЛИ(C2=1;D8;ЕСЛИ(C2=2;D13;D17)) Как мы помним, значение в ячейке С2 определяется Группой переключателей.

Полоса прокрутки

Вставляем на лист элемент Полоса прокрутки. Этим элементом мы будем изменять ячейку на пересечении строки Количество (строка 10) и столбца выбранного года. Значения ячейки будет меняться в диапазоне от 0 до 1000. Но как определить эту ячейку?

Создадим Именованную формулу СмещГода для определения позиции выбранного года в диапазоне лет G9:K9. Нажимаем Формулы/ Определенные имена/ Присвоить имя, в поле Имя вводим СмещГода, в поле диапазон вводим формулу =ПОИСКПОЗ($E$9; $G$9:$K$9;0) Если выбран 2009, то формула вернет 1.

Для определения ячейки строки Количество, соответствующую выбранному году используем формулу =СМЕЩ($F$10;0;СмещГода) . Формула вернет диапазон, состоящий из одной ячейки.

В поле Связь с ячейкой элемента Полоса прокрутки нельзя ввести формулу, но можно, как мы уже видели, ввести Имя. Создадим Именованную формулу Количество, в поле Диапазон укажем формулу =СМЕЩ($F$10;0;СмещГода) . Теперь в поле Связь с ячейкой элемента полоса прокрутки введите Количество.

Аналогичные манипуляции проделайте с полосой прокрутки для Цены. Для этого необходимо создать Именованную формулу Цена, где в поле Диапазон указать формулу =СМЕЩ($F$11;0;СмещГода) .

Флажок

При выборе пользователем текущего года, в таблице с данными (G9:K12) соответствующий столбец будет закрашиваться серым фоном. Для выделения столбца выбранного года используем Условное форматирование.

Сначала вставим на лист элемент Флажок. Этим элементом мы будем включать и выключать выделение в таблице столбца выбранного года. Элемент свяжите с ячейкой $G$2. Если флажок снят, то в этой ячейке будет ЛОЖЬ (этому значению соответствует 0), если установлен, то ИСТИНА (этому значению соответствует 1).

Для настройки Условного форматирования выделим диапазон G9:K12. Так как формула в Условном форматировании будет содержать относительную ссылку, то убедимся, что после выделения диапазона активной ячейкой является G9 (т.е. диапазон надо выделять начиная именно с нее. Подсказкой служит поле Имя, находящееся слева от Строки формул. После выделения диапазона оно должно содержать G9).

  • вызовите инструмент Условное форматирование (Главная/ Стили/ Условное форматирование/ Создать правило);
  • выберите Использовать формулу для определения форматируемых ячеек;
  • в поле «Форматировать значения, для которых следующая формула является истинной» введите =И(СТОЛБЕЦ(G9)=СмещГода+6;$G$2) Формула примет значение ИСТИНА, когда выполнится одновременно 2 условия:
  • значение выражения (СмещГода (изменяется от 1 до 5 (т.е. от 2009 до 2013 года) + 6) совпадет с номером текущего столбца (7, т.е. 2009 год);
  • Флажок Условное форматирование установлен.
  • выберите требуемый формат, например, серый цвет заливки;
  • нажмите ОК.

Тестируем

  • убедимся, что флажок Условное форматирование установлен;
  • выберем переключатель Список;
  • в элементе управления Список выберем 2010;
  • убедимся, что столбец 2010 выделен серым;
  • Полосой прокрутки изменим количество в столбце 2010.

Результат показан на рисунке.

К сожалению, у элементов управления формы Флажок, Поле со списком и Список нет возможности отформатировать отображаемый шрифт. Зато это можно сделать у элементов ActiveX (Разработчик/ Элементы управления/ Вставить). Правда, для работы с этими элементами требуется писать программу на VBA.

Использование элементов управления форм на листе Excel

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

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

Дополнительные сведения об элементах управления форм в Excel можно найти в статье Общие сведения о формах, элементах управления форм и элементах ActiveX на листе.

Дополнительные сведения

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

Включение вкладки «Разработчик»

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

Откройте вкладку Файл и выберите команду Параметры.

В левой области выберите пункт настроить ленту .

Установите флажок разработчик в разделе Основные вкладки справа, а затем нажмите кнопку ОК.

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

Нажмите кнопку Microsoft Office, а затем — Параметры Excel.

Нажмите популярные, установите флажок Показыватьвкладку «Разработчик» на ленте и нажмите кнопку ОК.

Настройка списка, ссылки на ячейку и предметного указателя

На новом листе введите следующие элементы в диапазоне от H1: H20:

H1: роликовый Скатес

H6: Вашинг Machine

H7: Роккет Launcher

H11: — это очень привлекательные

H18: набор инструментов

H20: жесткий диск

В ячейке a1 введите следующую формулу:

= ИНДЕКС (H1: H20; G1; 0)

Пример окна списка

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


Чтобы добавить список в Excel 2003 и более ранних версиях Excel, нажмите кнопку «список» на панели инструментов «формы». Если панель инструментов формы не отображается, в меню Вид выберите пункт панели инструментов, а затем — пункт формы.

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

В группе элементы управления нажмите кнопку свойства.

В окне Формат объекта введите следующие данные, а затем нажмите кнопку ОК.

Чтобы задать диапазон списка, введите H1: H20 в поле диапазон ввода .

Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».

Примечание: Формула INDEX () использует значение в ячейке G1, чтобы вернуть правильный элемент списка.

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

Примечание: Параметры Multi и Extend полезны только в том случае, если вы используете процедуру Microsoft Visual Basic для приложений, чтобы возвращать значения списка. Также обратите внимание на то, что флажок объемной заливки позволяет добавить трехмерный вид в список.

Список элементов должен отображаться в списке. Чтобы использовать список, щелкните любую ячейку, чтобы не выделять список. Если щелкнуть элемент в списке, ячейка G1 будет обновлена числом, указывающим позицию выбранного в списке элемента. Формула INDEX в ячейке a1 использует этот номер для отображения имени элемента.

Пример поля со списком

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


Чтобы добавить поле со списком в Excel 2003 и более ранних версиях Excel, нажмите кнопку раскрывающегося списка на панели инструментов формы.

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

Щелкните поле со списком правой кнопкой мыши и выберите пункт Формат элемента управления.

Введите указанные ниже данные и нажмите кнопку ОК.

Чтобы задать диапазон списка, введите H1: H20 в поле диапазон ввода .

Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».

Примечание: Формула INDEX использует значение в ячейке G1, чтобы вернуть правильный элемент списка.

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

Примечание: Флажок объемной заливки необязателен. Он добавляет трехмерный вид в раскрывающийся список или поле со списком.

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

Пример кнопки «Счетчик»

Чтобы добавить счетчик в Excel 2007 и более поздних версий, откройте вкладку разработчик , нажмите кнопку Вставить, а затем в разделе элементы управления формынажмите кнопку Счетчик .


Чтобы добавить счетчик в Excel 2003 и более ранних версиях Excel, нажмите кнопку «Счетчик» на панели инструментов «формы».

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

Щелкните правой кнопкой мыши кнопку счетчик и выберите пункт Формат элемента управления.

Введите указанные ниже данные и нажмите кнопку ОК.

В поле Текущее значение введите 1.

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

В поле минимальное значение введите 1.

Это значение ограничивает верхнюю часть счетчика на первый элемент в списке.

В поле Максимальное значение введите 20.

Этот номер задает максимальное количество элементов в списке.

В поле Шаг изменения введите 1.

Это значение определяет степень приращения текущего значения с помощью элемента управления «Счетчик».

Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле «связь с ячейкой».

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

Значение «Счетчик» не изменится, если текущее значение равно 1, а затем щелкнуть элемент управления вниз или, если текущее значение равно 20, а затем щелкнуть элемент управления вверх.

Пример полосы прокрутки

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


Чтобы добавить полосу прокрутки в Excel 2003 и более ранних версиях Excel, нажмите кнопку «вертикальная полоса прокрутки» на панели инструментов «формы».

Щелкните на листе место, где должен находиться левый верхний угол полосы прокрутки, а затем перетащите полосу прокрутки в то место, где должен находиться правый нижний угол полосы прокрутки. В этом примере создается полоса прокрутки, которая охватывает ячейки B2: B6 в высоту и является примерно одной четвертой ширины столбца.

Щелкните полосу прокрутки правой кнопкой мыши и выберите пункт Формат элемента управления.

Введите указанные ниже данные и нажмите кнопку ОК.

В поле Текущее значение введите 1.

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

В поле минимальное значение введите 1.

Это значение ограничивает верхнюю часть полосы прокрутки до первого элемента в списке.

В поле Максимальное значение введите 20. Этот номер задает максимальное количество элементов в списке.

В поле Шаг изменения введите 1.

Это значение определяет, сколько чисел элемент управления «полоса прокрутки» увеличит текущее значение.

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

Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».

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

Щелкните любую ячейку так, чтобы полоса прокрутки не выделена. Если щелкнуть элемент управления вверх или вниз на полосе прокрутки, ячейка G1 будет обновлена до числа, указывающего текущее значение полосы прокрутки плюс или минус добавочное изменение полосы прокрутки. Этот номер используется в формуле указателя в ячейке a1 для отображения элемента рядом с текущим элементом или перед ним. Вы также можете перетаскивать ползунок прокрутки, чтобы изменить значение или щелкнуть полосу прокрутки на обеих сторонах ползунка, чтобы увеличить его на 5 (значение изменения страницы). Полоса прокрутки не изменится, если текущее значение равно 1, и вы щелкните элемент управления вниз или, если текущее значение равно 20, а затем щелкните элемент управления вверх.

Элементы управления в ms excel

Лабораторная работа №10

АВТОМАТИЗАЦИЯ РАБОТЫ С КНИГОЙ В MS EXCEL

Цель работы: работа с макросами в MS Excel: создание, удаление, выполнение изменение, копирование макросов; использование элементов управления для автоматизации работы с книгой.

Если требуется периодическое выполнение задачи в Microsoft Excel, можно автоматизировать задачу с помощью макроса. Макрос – это последовательность команд и функций, хранящаяся в модуле Visual Basic. С точки зрения программирования – это подпрограмма. Ее можно выполнять всякий раз, когда необходимо выполнить данную задачу.

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

1.1.1 Создание макроса. Макросы можно создавать с помощью средства для записи макросов или введя его код на языке Visual Basic для приложений в редакторе Visual Basic. Можно использовать и оба метода сразу: записать часть шагов, а затем расширить макрос с помощью программного кода.

Для записи макроса необходимо:

1) Установите Средний или Низкий уровень безопасности:

— выберите команду меню Сервис ? Параметры;

— откройте вкладку Безопасность;

— в группе Безопасность макросов нажмите кнопку Безопасность макросов;

— откройте вкладку Уровень безопасности, а затем выберите нужный уровень безопасности.

2) Выберите команду меню Сервис ? Макрос ? Начать запись (рис. 1.1).

3) В поле Имя макроса введите имя макроса (см. рис. 1.1):

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

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

4) Если этот макрос потребуется запускать нажатием сочетания клавиш на клавиатуре, введите букву в поле Сочетание клавиш (см. рис. 1.1). Допускается использование сочетаний Ctrl+буква (для строчных букв) или Ctrl+Shift+буква (для прописных букв), где буква – любая буквенная клавиша на клавиатуре. Нельзя использовать сочетания клавиш с цифрами и специальными знаками, такими как @ или #.

Примечание. Выбранное сочетание клавиш заменяет все совпадающие стандартные сочетания клавиш Microsoft Excel на то время, пока открыта книга, содержащая данный макрос.

Рисунок 1.1 – Диалог Запись макроса

5) В поле Сохранить в выберите книгу, в которой требуется сохранить макрос. Если этот макрос требуется всегда при работе в Microsoft Excel, выберите вариант Личная книга макросов (см. рис. 1.1).

6) Если необходимо добавить описание макроса, введите его в поле Описание (см. рис. 1.1).

7) Нажмите кнопку OK.

8) Если макрос требуется выполнять относительно позиции активной ячейки, запишите его, используя относительные ссылки на ячейки. На панели инструментов Остановить запись нажмите кнопку Относительная ссылка, чтобы она осталась нажатой. Запись макроса будет продолжена с использованием относительных ссылок, пока не будет закрыт Microsoft Excel или не будет еще раз нажата кнопка Относительная ссылка, после чего она останется не нажатой.

9) Выполните макрокоманды, которые нужно записать.

10) На панели инструментов Остановить запись нажмите кнопку Остановить запись.

Чтобы запрограммировать макрос с помощью Visual Basic, необходимо:

1) Выберите команду меню Сервис ? Макрос ? Редактор Visual Basic (рис. 1.2).

2) В меню Insert выберите команду Module.

3) Введите или скопируйте программу в окно программы модуля.

4) Чтобы запустить данный макрос из окна модуля, нажмите кнопку F5.

5)Когда макрос будет создан, выберите команду меню File ? Close and Return to Microsoft Excel.

1.1.2 Удаление макроса.Для удаления макроса:

1) Откройте книгу, содержащую макрос, который требуется удалить.

2) В выберите команду меню Сервис ? Макрос ? Макросы.

3) В списке Находится в выберите Эта книга.

4) В списке Имя макроса выберите имя макроса, который нужно удалить.

5) Нажмите кнопку Удалить.

Рисунок 1.2 – Окно редактора Visual Basic

1.1.3 Выполнение макроса. Для выполнения макроса:

1) Установите Средний или Низкий уровень безопасности.

2) Откройте книгу, содержащую нужный макрос.

3) В меню Сервис выберите пункт Макрос, а затем выполните команду Макросы.

4) В поле Имя макроса введите имя того макроса, который требуется выполнить.

5) Выполните одно из следующих действий.

— Запустите макрос в книге Microsoft Excel: нажмите кнопку Выполнить; чтобы прервать выполнение, нажмите кнопку ESC.

— Выполните макрос из модуля Microsoft Visual Basic: нажмите кнопку Изменить; нажмите кнопку Run Sub/UserForm.

Совет: чтобы выполнить другой макрос, находясь в редакторе Visual Basic, выберите команду Macros в меню Tools. В поле Macro name введите имя того макроса, который нужно выполнить, а затем нажмите кнопку Run.

1.1.4 Изменение макроса. Для изменения макроса необходимо знакомство с редактором Visual Basic, который используется для написания и изменения макросов Microsoft Excel.

1) Установите Средний или Низкий уровень безопасности.

2) Выполните команду меню Сервис ? Макрос ? Макросы.

3) Введите имя макроса в поле Имя макроса.

4) Нажмите кнопку Изменить.

1.1.5 Копирование модуля макроса в другую книгу.Для этого:

1) Установите Средний уровень безопасности.

2) Откройте книгу, содержащую модуль, который требуется скопировать, и книгу, в которую его требуется скопировать.

3) Выберите команду меню Сервис ? Макрос ? Редактор Visual Basic.

4) Выберите команду меню Вид ? Окно проекта.

5) Перетащите требуемый модуль в конечную книгу.

Элементы управления в MS Excel

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

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

В Microsoft Excel существует два вида элементов управления. Элементы управления ActiveX подходят в большинстве случаев, и работают с макросами Visual Basic для приложений (VBA) и веб-сценариями.

Элементы управления ActiveX Элемент ActiveX. Элемент управления (такой как флажок или кнопка), служащий для выбора параметров либо для запуска макроса или сценария, автоматизирующего выполнение задачи. Макросы для таких элементов управления можно создавать в редакторе Visual Basic для приложений, а сценарии в редакторе сценариев.

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

Чтобы задать свойства для имеющегося элемента управления, щелкните его правой кнопкой мыши, выберите команду Формат объекта, а затем откройте вкладку Элемент управления. Кнопки и надписи не имеют свойств.

В табл. 1.1 и табл. 1.2 приведены виды элементов управления ActiveX и панели инструментов Формы.

Применение элементов управления Формы в Excel

Элементы управления – графические объекты, размещаемые на листе для отображения или ввода данных, выполнения действий или облегчения восприятия текста.

В Excel имеются два типа элементов управления:

— элементы Active X панели инструментов Элементы управления). Макросы для управления их работой создаются в редакторе VBA;

— элементы управления панели Формы. Макросы для этих элементов создаются с помощью средства записи макросов и не требуют обязательного знания VBA.

Перечень элементов управления панели инструментов Форма представлен в таблице «Элементы управления Excel».

Свойства большинства элементов можно изменять. Действия, производимые с помощью объекта управления, задаются в диалоговом окне Формат элемента управления на вкладке Элемент управления (это окно вызывается командой Формат объекта из контекстного меню). У элементов управления Кнопка и Надпись можно изменять только свойства, касающиеся формата.

С помощью элементов форм в Excel можно не просто заносить данные в анкеты и бланки, но и производить анализ введенных данных.

Каждый элемент формы (кроме элементов Кнопка и Надпись) связан с ячейкой. Значение связанной ячейки изменяется в зависимости от состояния элемента или действия с элементом. Для работы элементов Список, Поле со списком, Полоса прокрутки и Счетчик задаются диапазоны ячеек.

Содержание работы

Задания выполняйте на отдельных листах созданной Вами книги.

Дата добавления: 2015-09-07 ; просмотров: 748 . Нарушение авторских прав

В чем разница между «элементами управления формой» и «элементом управления ActiveX» в Excel 2010?

используя Microsoft Excel 2010, я заметил два вида элементов управления, которые могут быть вставлены в документ:Управления и Элементы Управления ActiveX.

в чем разница между ними?

Google полон информации об этом. Как сказал Ганс Пассан, управления встроены в Excel, тогда как ActiveX элементы управления загружаются отдельно.

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

многие компьютеры пользователя по по умолчанию не доверяю ActiveX , и он будет отключен; иногда это необходимо вручную добавить в центр управления безопасностью. ActiveX это технология на базе microsoft и, насколько мне известно, не поддерживается на Mac. Это то, что вам также придется рассмотреть, если вы (или кто-то, кому Вы предоставляете книгу) решите использовать его на Mac.

одним из основных отличий, которые важно знать, является то, что элементы управления ActiveX отображаются как объекты, которые можно использовать в коде — попробуйте вставить элемент управления ActiveX в рабочий лист, откройте редактор VBA (ALT + F11), и вы сможете получить доступ к элементу управления программно. Вы не можете сделать это с помощью элементов управления form (макросы должны быть явно назначены каждому элементу управления), но элементы управления form немного проще в использовании. Если вы просто делаете что-то простое, не имеет значения, что вы используете но для более продвинутых скриптов ActiveX имеет более широкие возможности.

ActiveX также более настраиваемый.

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

также стоит отметить, что элементы управления ActiveX работают только в Windows, тогда как элементы управления Form будут работать как в Windows, так и в macOS-версиях Excel.


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

Для вставки элементов управления на лист необходимо отобразить вкладку

Разработчик.

  • В MS EXCEL 2007 это можно сделать через меню

    .

  • В MS EXCEL 2010 это можно сделать так: Откройте вкладку

    Файл

    ; Нажмите кнопку

    Параметры

    ; Нажмите кнопку

    Настроить ленту

    ; Выберите команду

    Настройка ленты и в разделе Основные вкладки

    установите флажок

    Разработчик

    .

Теперь вставить элемент управления можно через меню:

.

Обратите внимание, что в этом меню можно вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п.  Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.

Для тех, кто не ранее не работал с Элементами управления формы, советуем подробно ознакомиться с ними в следующих статьях:

  • Флажок

    ;

  • Счетчик

    ;

  • Полоса прокрутки

    ;

  • Переключатель

    ;

  • Список

    ;

  • Поле со списком

    .

В этой статье рассмотрим более сложный пример совместного использования элементов управления и

Условного форматирования

.

Пример

Разберем конкретный пример применения сразу нескольких Элементов управления. В файле

примера

с помощью элементов управления показано как пользователь может отредактировать значения в таблице (диапазон

F9:K12

).

С помощью одного из 3-х элементов управления

Поле со списком, Список

и

Счетчик

,

пользователь может выбрать столбец таблицы (год)

.

Нужный элемент управления выбирается с помощью группы

Переключателей

. Название выбранного элемента подсвечивается серым цветом (см.

A8:B8

на рис. выше). Выбранный год выделяется в таблице

Условным форматированием

темно серым цветом (см.

H9

:H12

на рис. выше). Отображение этого выделения регулируется

Флажком

(фон флажка — красный).

Полосами прокрутки

можно редактировать

Цену

и

Количество

в выбранном году, но только в определенном диапазоне. Теперь – подробнее.


Переключатели

На листе использовано 3

Переключателя

объединенных в

Группу

. Каждому

Переключателю

соответствует определенный элемент управления:

Поле со списком, Список, Счетчик

.

Для объединения Элементов в группу помещаем на лист Элемент управления

Группа

(через меню

). В рамках группы создаем 3 переключателя (также через меню

) и связываем их все с одной ячейкой

С2

(выделив элемент управления, правой клавишей вызываем контекстное меню,

Формат объекта

…, вкладка

Элемент управления

).

Удерживая клавишу

CTRL

выделяем 3 переключателя и элемент

Группа

, вызываем правой клавишей мыши контекстное меню и выбираем

. Теперь при выборе одного из трех

Переключателей

в

Группе

, в ячейке

С2

будет выводиться значение 1, 2 или 3.


Поле со списком

Теперь вставим элемент управления

Поле со списком

. Вставить элемент можно через меню:

. В ячейках столбца

М

введем несколько значений лет:

2009, 2010, 2011, 2012, 2013.

Эти значения будут использованы в элементе

Поле со списком

.

Создадим

Именованный диапазон

Список

.

  • выделяем диапазон

    М9:М12

    ;
  • нажимаем

    ;

  • в поле

    Имя

    вводим

    Список

    .

Теперь свяжем элемент управления с данными на листе. Для этого:

  • выделите элемент управления

    Поле со списком

    ;
  • правой клавишей вызовите его контекстное меню, затем

    Формат объекта…

    , вкладка

    Элемент управления

    ;
  • в поле

    Формировать список по диапазону

    вводим

    Список

    (вместо ссылки на ячейку мы ввели ссылку на определенное

    Имя

    !). Конечно, вместо имени можно было указать просто ссылку на диапазон;

  • свяжем элемент с ячейкой

    $C$8

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

    2009

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

    D8

    введем формулу

    =C8+2008

    .


Список

Вставляем на лист элемент

Список

. Аналогично предыдущему элементу связываем его с ячейкой

$C$13

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

Именованного диапазона

Список

. В ячейку

D13

введем формулу

=C13+2008

.


Счётчик

Вставляем на лист элемент

Счетчик

. Определяем минимальное значение

2009

, максимальное –

2013

, шаг

1

. Связываем элемент с ячейкой

$C$17

. В

D17

введем формулу

=С17

, т.к. элемент

Счетчик

в нашем случае возвращает значение года.

Чтобы определить значение какого элемента (

поле со списком, список

или

счетчик

) является активным в настоящий момент, в ячейке

E9

введем формулу:

=ЕСЛИ(C2=1;D8;ЕСЛИ(C2=2;D13;D17))

Как мы помним, значение в ячейке

С2

определяется

Группой переключателей

.


Полоса прокрутки

Вставляем на лист элемент

Полоса прокрутки

. Этим элементом мы будем изменять ячейку на пересечении строки

Количество

(строка 10) и столбца выбранного года. Значения ячейки будет меняться в диапазоне от 0 до 1000. Но как определить эту ячейку?

Создадим

Именованную формулу

СмещГода

для определения позиции выбранного года в диапазоне лет

G

9:

K

9

. Нажимаем

, в поле

Имя

вводим

СмещГода

, в поле диапазон вводим формулу

=ПОИСКПОЗ($E$9; $G$9:$K$9;0)

Если выбран

2009

, то формула вернет 1.

Для определения ячейки строки

Количество

, соответствующую выбранному году используем формулу

=СМЕЩ($F$10;0;СмещГода)

. Формула вернет диапазон, состоящий из одной ячейки.

В поле

Связь с ячейкой

элемента

Полоса прокрутки

нельзя ввести формулу, но можно, как мы уже видели, ввести

Имя

. Создадим

Именованную формулу

Количество

, в поле

Диапазон

укажем формулу

=СМЕЩ($F$10;0;СмещГода)

. Теперь в поле

Связь с ячейкой

элемента полоса прокрутки введите

Количество

.

Аналогичные манипуляции проделайте с полосой прокрутки для

Цены

. Для этого необходимо создать

Именованную формулу

Цена

, где в поле

Диапазон

указать формулу

=СМЕЩ($F$11;0;СмещГода)

.


Флажок

При выборе пользователем текущего года, в таблице с данными (

G9:K12

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

Условное форматирование

.

Сначала вставим на лист элемент

Флажок

. Этим элементом мы будем включать и выключать выделение в таблице столбца выбранного года. Элемент свяжите с ячейкой

$G$2

. Если флажок снят, то в этой ячейке будет ЛОЖЬ (этому значению соответствует 0), если установлен, то ИСТИНА (этому значению соответствует 1).

Для настройки

Условного форматирования

выделим диапазон

G9:K12

. Так как формула в Условном форматировании будет содержать

относительную ссылку

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

Имя

, находящееся слева от

Строки формул

. После выделения диапазона оно должно содержать

G

9

).

  • вызовите инструмент

    Условное форматирование

    (

    );

  • выберите

    Использовать формулу

    для определения форматируемых ячеек;
  • в поле «

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

    » введите

    =И(СТОЛБЕЦ(G9)=СмещГода+6;$G$2)

    Формула примет значение ИСТИНА, когда выполнится одновременно 2 условия:
  • значение выражения (

    СмещГода

    (изменяется от 1 до 5 (т.е. от 2009 до 2013 года) + 6) совпадет с номером текущего столбца (7, т.е. 2009 год);
  • Флажок

    Условное форматирование

    установлен.
  • выберите требуемый формат, например, серый цвет заливки;
  • нажмите ОК.


Тестируем

  • убедимся, что флажок

    Условное форматирование

    установлен;
  • выберем переключатель

    Список

    ;
  • в элементе управления

    Список

    выберем 2010;
  • убедимся, что столбец

    2010

    выделен серым;

  • Полосой прокрутки

    изменим количество в столбце 2010.

Результат показан на рисунке.

К сожалению, у элементов управления формы

Флажок, Поле со списком

и

Список

нет возможности отформатировать отображаемый шрифт. Зато это можно сделать у элементов ActiveX (

). Правда, для работы с этими элементами требуется писать программу на VBA.

В Microsoft Excel, Form Controls, это полезно для выбора элементов в списке диалогового листа. Элементы управления формой упрощают взаимодействие пользователей с данными ячеек, которые они создали. На ваш рабочий лист будет добавлено несколько форм контроля; это метка, поле группы, кнопка флажка, кнопка выбора, поле списка, поле со списком, полоса прокрутки и кнопка вращения.

Типы элементов управления формой

  • Метка: метки показывают описательный текст, такой как изображения, заголовки и подпись, а также определяют цель ячейки.
  • Групповое поле: тесно связанное содержимое сгруппировано с дополнительной меткой.
  • Кнопка: этот элемент управления запускает макрос и выполняет действие, когда пользователь нажимает на него.
  • Флажок: это дает пользователю возможность включать и выключать значение, которое подразумевает противоположный выбор. Вы можете установить несколько флажков.
  • Кнопка параметров: как и флажок, она также дает вам возможность включать и выключать значение, указывающее на противоположный выбор. Единственное отличие состоит в том, что кнопка выбора позволяет пользователю выбрать только один вариант, в отличие от флажка.
  • Список: отображает список текстовых элементов, из которых пользователь может выбирать.
  • Поле со списком: это текстовое поле со списком для создания раскрывающегося списка. Поле со списком позволяет пользователю щелкнуть стрелку раскрывающегося списка для отображения списка.
  • Полоса прокрутки: прокрутите диапазон значений с помощью клавиш со стрелками полосы прокрутки или перетащите или перетащите полосу прокрутки.
  • Кнопка вращения: увеличивает или уменьшает такие значения, как числа, даты или время. Чтобы увеличить значение, щелкните стрелку вверх; для уменьшения значения щелкните стрелку вниз.

В этой статье мы обсудим следующие темы:

  1. Как найти элементы управления формы
  2. Как создать этикетку
  3. Как создать кнопку
  4. Как создать флажок
  5. Как создать кнопку Option
  6. Как создать список
  7. Как создать поле со списком
  8. Как создать полосу прокрутки
  9. Как создать кнопку вращения
  10. Как создать групповой ящик

1]Как найти элементы управления формы

Создание элементов управления форм в Microsoft Excel

Щелкните правой кнопкой мыши на стандартной панели инструментов и выберите «Настроить ленту». Появится диалоговое окно с названием Excel Option. В левой части диалогового окна установите флажок рядом с надписью «Разработчик», затем нажмите «ОК». В строке меню вы увидите вкладку Разработчик.

2]Как создать этикетку

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

В окне разработчика щелкните инструмент «Вставка», вы увидите список форм управления. Щелкните «Ярлык». Вы увидите крестообразный курсор; используйте его для рисования метки, затем щелкните правой кнопкой мыши и выберите «Редактировать текст», чтобы ввести текст в метку.

3]Как создать кнопку

Перейдите к инструменту «Вставка» в группе элементов управления. Выберите инструмент «Кнопка». Вы увидите курсор в форме креста; перетащите его, чтобы создать кнопку. Появится диалоговое окно «Назначить макрос». Щелкните ОК. Вы увидите кнопку на листе Excel.

4]Как создать флажок

Перейдите к инструменту «Вставить» и выберите инструмент «Флажок». Появится курсор в форме креста и обозначит ваш флажок. Теперь у вас есть флажок. Чтобы переименовать, щелкните правой кнопкой мыши флажок и выберите «Изменить текст».

5]Как создать кнопку выбора

На панели инструментов «Вставить» нажмите кнопку выбора. Будет курсор в форме креста; возьмите курсор в форме креста и нарисуйте кнопку выбора. Чтобы ввести текст в кнопку выбора, щелкните правой кнопкой мыши или дважды коснитесь кнопки и введите текст или щелкните правой кнопкой мыши и выберите «Изменить текст».

6]Как создать список

Перейдите к инструменту «Вставка», выберите «Список»; крестообразный курсор появится в книге, и используйте крестообразный курсор, чтобы нарисовать список. Чтобы ввести данные в поле, щелкните поле правой кнопкой мыши и выберите «Управление форматом». Появится диалоговое окно «Управление форматом», нажмите «Управление», щелкните элемент «Диапазон ввода», затем перейдите к ячейке, которая должна быть в списке. , щелкните по нему и перетащите вниз. Выбранный диапазон ввода находится в поле «Диапазон ввода» в диалоговом окне. Теперь щелкните запись «Ссылка на ячейку» и выберите ячейку, в которую нужно вставить ссылку на ячейку.

Ссылка на ячейку отобразит все данные, которые вы щелкнули в окне списка; строка будет отображаться для каждого выбранного значения. Тогда хорошо. Если вы хотите, чтобы в поле списка отображались строки для каждого числа, выбранного вами в поле, щелкните диапазон выбранных ячеек, щелкните любые данные в списке и отобразите, в какой строке находятся данные. Если вы хотите отображать только данные списка, используйте эту формулу = ИНДЕКС (B2: B7, J2, 0). B2: B7 — это диапазон выбранных вами ячеек, J2 — это строка, которую вы отображали ранее. Когда вы нажимаете Enter, вы увидите исходный номер из списка, когда вы нажмете на любой номер в списке.

7]Как создать поле со списком

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

8]Как создать полосу прокрутки

Нажмите «Вставить», выберите «Полоса прокрутки», нарисуйте полосу прокрутки на листе, затем щелкните правой кнопкой мыши, выберите «Элементы управления формы» и нажмите «ОК». Затем щелкните правой кнопкой мыши полосу прокрутки и выберите «Управление формой». Появится диалоговое окно управления формой. Щелкните «Элементы управления», чтобы внести изменения; выберите ссылку на ячейку, где вы хотите, чтобы элементы управления были взяты. В этой статье мы выбираем ячейку $ E $ 2. ХОРОШО. Будет создана полоса прокрутки. Когда вы нажимаете на стрелку влево полосы прокрутки, число уменьшается, когда вы нажимаете стрелку вправо на полосе прокрутки, число увеличивается.

9]Как создать кнопку вращения

Нажмите «Вставить», затем нажмите кнопку «Вращение». Используйте курсор в форме креста, который появляется на листе, чтобы нарисовать кнопку вращения. Затем щелкните правой кнопкой мыши и выберите «Элементы управления формой»; выберите вкладку «Управление» в диалоговом окне «Управление формой», внесите любые изменения, если хотите, выберите ссылку на ячейку, щелкнув запись «Ссылка на ячейку», затем щелкните ячейку, она появится в поле «Ссылка на ячейку», затем нажмите «ОК». Теперь у нас есть кнопка вращения. Щелкните кнопку со стрелкой вверх; число увеличивается; нажмите кнопку со стрелкой вниз стрелка Уменьшается.

10]Как создать групповой ящик

Нажмите «Вставить», выберите «Групповое поле», используйте курсор в форме креста, чтобы нарисовать групповое поле. Чтобы ввести данные в групповое поле, щелкните правой кнопкой мыши, выберите «Редактировать текст» или дважды коснитесь прямо за пределами группового поля.

Надеюсь, это поможет.

Теперь прочтите: Как добавить или изменить тему для книги в Microsoft Excel.

.

Поле со списком — элемент управления формы в MS EXCEL

​Смотрите также​ не понимаю как,​ Управляйте этими свойствами​.​не отображается, на​ Если вкладка​ данных из формы​,​ смогли сделать это​После этого переходим к​ будем вводить данные.​и​ применять один и​ нужными и в​ строкой в табличный​В3​ углы прямоугольника или​Поле со списком представляет​ дело даже не​ и получите желаемое…​Щелкните правой кнопкой мыши​

​ вкладке​Разработчик​ в таблицу.​

  • ​«5»​ самостоятельно, давайте разберем,​ левой нижней области​ Выделяем первую ячейку,​«Сумма»​ тот же шаблон,​
  • ​ остальные поля, после​ диапазон. Форма может​).​​ на маленькие кружки​​ собой сочетание текстового​​ в том функциями​​ Лучше такие примочки​​ поле со списком​​Файл​​не отображается, на​После того, как область​​означают номера столбцов​​ из чего данный​​ окна под названием​

​ где уже установлено​. Они будут отсутствовать.​ как это возможно​

​ чего жмем на​ выступать как в​Необходимо помнить, что Поле​ на границе, то​ поля и раскрывающегося​ или макросами, а​ делать на UserForm,​ и выберите пункт​выберите​ вкладке​ обведена, отпускаем клавишу​ на листе Excel,​ код состоит, что​«Properties»​ в нашем случае​ Нумерация первого из​ при использовании стандартного​ кнопку​

​ виде отдельного встроенного​​ со списком возвращает​ можно изменить его​ списка. Поле со​ в том как​ на листе Вам​Свойства​

​Параметры​Файл​ мыши. Затем автоматически​

Вставка Поля со списком

​ соответствующих колонкам​ в нем следует​. Тут расположены настройки​ наименование​ них будет происходить​

​ варианта.​«Добавить»​ инструмента Excel, так​ в связанную ячейку​

​ размер.​

​ списком компактнее обычного​

​ вообще сделать неактивным​ будет сложнее управлять​. Откройте вкладку​>​​выберите​​ запускается окно назначения​«Наименование товара»​

Выделение Поля со списком

​ заменить, а что​ выделенного листа. В​«Картофель»​​ при помощи макроса,​​Как и в предыдущем​.​ и располагаться непосредственно​

Перемещение Поля со списком и изменение его размеров

​ не сам элемент,​​Заполним наше Поле со​​ списка, однако для​ элемент. Пытался сделать​ формами. Но ничего​Alphabetic​Настроить ленту​Параметры​ макроса объекту. Если​,​ менять не нужно.​ поле​. Далее переходим в​ а расчет значений​ способе, прежде всего,​После этого, как видим,​

​ на листе в​ а его позицию​ списком названиями месяцев.​ того чтобы отобразить​ макрос, чтоб на​ невозможного нет…​

Заполняем Поле со списком элементами

​(По алфавиту) и​. В списке​>​ в вашей книге​«Количество»​​Итак, первая строка:​​«(Name)»​

​ поле наименования диапазонов.​ во втором будет​ нужно составить шапку​ в первую строку​ виде его диапазона,​ в списке (для​ Для начала разместим​ список элементов, пользователь​ этом месте полупрозрачный​VovaK​ измените нужные свойства.​Основные вкладки​Настроить ленту​ применяется несколько макросов,​

​,​Sub DataEntryForm()​следует заменить кириллическое​ Оно расположено в​

​ производиться путем применения​​ будущей таблицы на​ таблицы были автоматически​ если она создана​ месяца Май на​ названия месяцев на​ должен щелкнуть стрелку.​ объект появлялся и​: Вот пример. Помечаете​Вот как можно настроить​установите флажок для​

​. В списке​ то выбираем из​

​«Цена»​«DataEntryForm»​ наименование (​ левой части окна​ формулы умножения количества​ листе. Она будет​ перенесены введенные значения,​ самим пользователем.​ картинке выше Поле​ листе в диапазоне​

Связываем Поле со списком с ячейкой

​ Поле со списком​ блокировал собой возможность​ имя красным и​ свойства поля со​ вкладки​Основные вкладки​ списка название того,​и​— это название​«Лист1»​ Excel на том​ на цену.​ состоять из пяти​ а в форме​Теперь давайте рассмотрим, как​ со списком вернуло​F2:F13​ следует использовать, когда​ нажатия на список,​ второй список будет​

​ списком на этом​Разработчик​установите флажок для​ который мы выше​«Сумма»​​ самого макроса. Вы​​) на название, написанное​

​ же уровне, что​

​Второй столбец объекта ввода​ ячеек с именами:​ произошел переход к​ пользоваться этими двумя​ значение 5). Поэтому,​.​ требуется обеспечить возможность​ но он никак​ не активным.​​ рисунке:​​и нажмите кнопку​ вкладки​ создавали. У нас​. Поэтому, если в​ можете оставить его​ на латинице. Название​ и строка формул.​

Использование Поля со списком

​ данных оставим пока​«№ п/п»​ следующему блоку полей,​ видами инструментов.​ чтобы вывести выбранный​Чтобы заполнить Поле со​ ввести в список​ не уходит на​x2Far​Настраиваемое свойство​ОК​Разработчик​​ он называется​​ вашем случае таблица​ как есть, а​ можно дать любое,​ Вводим туда произвольное​ что пустым. Непосредственно​,​​ который соответствуют второй​​Прежде всего, давайте узнаем,​

​ месяц, потребуется формула​ списком, кликните на​ или выбрать в​ задний план.​: Спасибо, понятно. Это​Действие​.​и нажмите кнопку​«DataEntryForm»​ сдвинута, то нужно​ можете заменить на​ которое вам будет​ название. Это может​​ в него позже​​«Наименование товара»​

​ строке табличного массива.​ как применять встроенную​ =ИНДЕКС(F2:F13;B1) (ячейка​​ него ПРАВОЙ клавишей​​ нем только один​

​VovaK​ элементы управления ActiveX,​Цвет заливки​Выберите тип поля со​

​ОК​. Но в данном​ указать соответствующие номера​ любое другое, которое​ удобнее, главное, чтобы​

Имя Элемента управления

​ быть любое наименование​ будут вводиться значения​,​Заполняем окно инструмента теми​ форму для ввода​В2​ мыши, в появившемся​ элемент. В этом​: У всех элементов​ а не управления​Щелкните свойство​​ списком, которое нужно​​.​ случае макрос один,​ столбцов. Если столбцов​ соответствует общим правилам​ в нем были​

​ на латинице, в​ для заполнения строк​«Количество»​ значениями, которые хотим​ данных Excel.​).​ контекстном меню выберите Формат​ элементе управления отображается​ управления есть свойства​ формы (с ней​BackColor​

Прячем Поле со списком на листе

​ добавить:​В разделе​

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

​ основного табличного диапазона.​,​ видеть во второй​Нужно отметить, что по​

excel2.ru

Элементы управления формы. Изучаем MS Excel в примерах

​Формула =ИНДЕКС(G2:G13;B1) позволяет вывести​ объекта… Появится диалоговое окно,​ текущее значение. Этот​ .Visible и .Enabled.​ по видимому нельзя​(Цвет фона), щелкните​в разделе​Элементы управления формы​ его и жмем​ аналогии нужно добавить​ (отсутствие пробелов, использование​ или цифры и​ но лучше все-таки​После этого создаем ещё​«Цена»​ строке табличной области,​

excel2.ru

Формы ввода данных в Microsoft Excel

Форма в Microsoft Excel

​ умолчанию значок, который​ объем продаж для​ выберите вкладку Элемент​ элемент имеет много​ Первое делает элемент​ ничего сделать) =)))​ стрелку вниз, откройте​Элементы управления формы​выберите элемент управления​ на кнопку​ её строки в​ только букв латинского​ отсутствовали другие знаки​ использовать названия близкие​ одну небольшую таблицу.​,​ и снова щелкаем​ её запускает, скрыт​ выбранного месяца (ячейка​ управления (если такая​

​ общего с элементом​ невидимым, второе неактивным.​

Применение инструментов заполнения

​VovaK​ вкладку​выберите элемент управления​Список (элемент управления формы)​«OK»​ код, если меньше​ алфавита и т.д.).​ или пробелы. Именно​ к решаемым данным​ Она будет состоять​«Сумма»​ по кнопке​ и его нужно​В3​ вкладка отсутствует, то​ Список.​ Управляйте этими свойствами​: На самом деле​Pallet​

​Поле со списком (элемент​.​внизу окна.​

Способ 1: встроенный объект для ввода данных Excel

​ – то убрать​ Изменение наименования ни​ с этим именем​ элементом задачам. Поэтому​

  1. ​ из одного столбца​.​«Добавить»​ активировать. Для этого​).​ Вы вставили Элемент​​Для вставки элементов управления​​ и получите желаемое…​ формы это те​​(Палитра) и выберите​​ управления формы)​

    Переход в параметры в Microsoft Excel

  2. ​Щелкните ячейку, в которой​После этого можно переименовать​ лишние.​​ на что не​​ будет работать макрос.​ первую ячейку, в​ и в ней​Далее нужно из нашего​.​ переходим во вкладку​Условное форматирование использовано для​ ActiveX, а не​ на лист необходимо​

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

    Добавление инструмента форма на панель быстрого доступа в Microsoft Excel

  3. ​«Файл»​ отображения в таблице​ Элемент управления формы,​ отобразить вкладку Разработчик.​​ делать на UserForm,​​ но оформленные через​

    Инструмент форма добавлен на панель быстрого доступа в Microsoft Excel

  4. ​Тип, начертание или размер​ИЛИ:​Нажмите кнопку​ захотите, просто выделив​ количества товара на​Везде, где встречается в​ случае данным названием​ товара, назовем​ которые мы будем​

    Инструмент форма отображается на панеле быстрого доступа в Microsoft Excel

  5. ​ так называемую «умную»​ строчки тоже были​, а затем щелкаем​ выбранного месяца и​ об этом см.​В MS EXCEL 2007​ на листе Вам​ меню (для пользователей,​ шрифта​в разделе​Свойства​​ её текущее название.​​ его цену:​​ коде слово​​ будет​​«Name»​​ выводить во вторую​​ таблицу, с возможностью​​ добавлены, причем нам​ по пункту​ его продаж.​

    Шапка таблицы в Microsoft Excel

  6. ​ выше).​ это можно сделать через​ будет сложнее управлять​ которые не знакомы​Щелкните свойство​Элементы ActiveX​и на вкладке​

    первое значение в таблице в Microsoft Excel

  7. ​В нашем случае, например,​.Cells(nextRow, 5).Value = Producty.Range(«Volum»).Value​«Producty»​«Producty»​. Пишем данное наименование​​ колонку основной таблицы.​​ автоматического добавления строчек​ даже не пришлось​

    Запуск формы в Microsoft Excel

  8. ​«Параметры»​Другой пример можно посмотреть​Введите в поле Формировать​ меню Кнопка офис/ Параметры​ формами. Но ничего​ с VBA). Для​Font​выберите элемент управления​Элемент управления​ логично будет дать​ * Producty.Range(«Price»).Value​

    Форма открыта в Microsoft Excel

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

    Ввод значений в форму в Microsoft Excel

  10. ​ в статье Выпадающий​ список по диапазону​ Excel/ Основные/ Показывать​ невозможного нет…​ Вашей задачи конечно​(Шрифт), нажмите кнопку​Поле со списком (элемент​задайте необходимые свойства:​ ей имя​

    Значения перенесы в таблицу в Microsoft Excel

  11. ​Результат, как видим из​ заменить на то​ выбрать и любое​ жмем на клавишу​ с заголовком данного​ диапазонов или ячеек​​ самой таблице.​​В открывшемся окне параметров​

    Добавление второй строки в таблицу через форму в Microsoft Excel

  12. ​ список в MS​ ссылку на вышеуказанный​ вкладку Разработчик на​VovaK​ не подходят, так​…​

    Вторая строка заполнена в таблице в Microsoft Excel

  13. ​ ActiveX)​В поле​«Добавить»​ синтаксиса записи, будет​

    Все значения в таблицу введены в Microsoft Excel

  14. ​ наименование, которое ранее​ другое, соответствующее условиям,​Enter​ перечня (​ данными. Для этого​​Таким образом, заполняем табличный​​ Эксель перемещаемся в​​ EXCEL на основе​​ диапазон.​ ленте.​

    Навигация по форме в Microsoft Excel

  15. ​: Вот пример. Помечаете​ как и не​и выберите тип,​.​Формировать список по диапазону​. Переименовываем и кликаем​ выводиться в пятый​ присвоили для своего​ которые были описаны​​на клавиатуре.​​«Список товаров»​

    Корректировка данных в форме в Microsoft Excel

  16. ​ выделяем шапку и,​ массив всеми значениями,​ раздел​

    Изменение произведено в таблице в Microsoft Excel

  17. ​ элемента управления формы.​Примечание​В MS EXCEL 2010​ имя красным и​ предназначены для этого.​ размер или начертание​Щелкните ячейку, в которую​введите диапазон ячеек,​ мышкой по любой​​ столбец листа Excel.​​ листа в поле​

    Удаление строки через форму в Microsoft Excel

  18. ​ выше.​Точно таким же образом​) можно залить цветом.​ находясь во вкладке​ которые хотим в​«Панель быстрого доступа»​У каждого Элемента управления​​. Вместо указания ссылку​​ это можно сделать так:​

    Подтверждение удаления строки в Microsoft Excel

  19. ​ второй список будет​ Огромное спасибо MicroSofty,​ шрифта.​ нужно добавить поле​ содержащий список значений.​ свободной ячейке листа.​В этом выражении выполняется​«(Name)»​​В поле​​ присваиваем ячейке, в​

    Закрытие формы в Microsoft Excel

  20. ​Затем выделяем первую пустую​«Главная»​ неё ввести.​. Большую часть окна​

Таблица отформатированв в Microsoft Excel

Способ 2: создание пользовательской формы

​ есть имя. Чтобы​ на диапазон можно​ Откройте вкладку ​ не активным.​ что оставили возможность​Цвет шрифта​ со списком, и​Примечание:​Итак, наша форма полностью​ автоматическая нумерация строк:​области​«Name»​ которую будем вводить​ ячейку объекта ввода​, жмем на кнопку​Кроме того, при желании,​ занимает обширная область​ его узнать, нужно​ указать Имя диапазона​Файл​x2Far​ конструировать формы пользователям​Щелкните свойство​ нарисуйте его с​ Если нужно отобразить в​ готова. Проверим, как​If nextRow >​«Properties»​тоже можно заменить​ количество товара, имя​ значений. Переходим во​

  1. ​«Форматировать как таблицу»​ можно производить навигацию​ настроек. В левой​ выделить Поле со​ (т.е. ссылку на Именованный​; Нажмите кнопку ​: Спасибо, понятно. Это​​ самостоятельно (меню Элементы​​ForeColor​​ помощью перетаскивания.​​ списке больше элементов,​​ она работает. Вводим​​ 2 Then​​редактора макросов. Естественно,​​ название на более​​«Volum»​​ вкладку​

    Шапка таблицы создана в Microsoft Excel

  2. ​в блоке инструментов​ по ранее введенным​ её части находятся​ списком, в Поле имя будет​ диапазон). Подробнее можно​Параметры​ элементы управления ActiveX,​ управления).​(Цвет текста), щелкните​Советы:​​ можно изменить размер​​ в её поля​​Range(«A2»).Select​​ это нужно делать​​ удобное. Но это​​.​«Данные»​«Стили»​ значениям с помощью​ инструменты, которые могут​ отображено его имя.​ посмотреть в статье​; Нажмите кнопку ​ а не управления​

    Создание умной таблицы в Microsoft Excel

  3. ​x2Far​ стрелку вниз, откройте​ ​ шрифта для текста.​ необходимые значения и​Selection.AutoFill Destination:=Range(«A2:A» &​ только в том​ не обязательно. При​А ячейке с ценой​. Щелкаем по значку​. После этого открывается​​ кнопок​​ быть добавлены на​ Чтобы изменить имя​​ Выпадающий список в​​Настроить ленту​

    Окошко форматирования таблицы в Microsoft Excel

  4. ​ формы (с ней​: Блин битый час​ вкладку​Чтобы изменить размер поля,​В поле​ жмем на кнопку​ nextRow)​ случае, если вы​ этом допускается использование​ –​«Проверка данных»​ список доступных вариантов​«Назад»​​ панель быстрого доступа,​​ Поля со списком​ MS EXCEL на​​; Выберите команду ​​ по видимому нельзя​​ сижу уже, ничего​​Pallet​

    Отключение фильтра через вкладку Данные в Microsoft Excel

    ​ наведите указатель мыши​Связь с ячейкой​«Добавить»​Range(«A2:A» & nextRow).Select​ назвали лист по-другому.​ пробелов, кириллицы и​​«Price»​​, который размещен на​ стилей. На функционал​и​ а в правой​​ — введите в Поле​​ основе элемента управления​​Настройка ленты и в​​ ничего сделать) =)))​ не получается.​​(Палитра) и выберите​​ на один из​

    Отключение фильтра через вкладку Главная в Microsoft Excel

  5. ​введите ссылку на​.​End If​Теперь рассмотрим такую строку:​ любых других знаков.​

    Фильтр снят в Microsoft Excel

  6. ​.​ ленте в блоке​ выбор одного из​«Далее»​ – уже присутствующие.​ имя новое имя​ формы.​ разделе Основные вкладки​VovaK​Прикладываю файл с​ цвет.​​ маркеров изменения размера​​ ячейку.​​Как видим, значения перемещены​​Все значения​nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1,​ В отличие от​После этого точно таким​ инструментов​ них никак не​или вертикальной полосы​В поле​ и нажмите клавишу ​

    ​Нажмите ОК, Поле со​ установите флажок ​: На самом деле​ работой которую делаю.​Связь с ячейкой для​ и перетащите границу​Совет:​

    Форма ввода данных на листе в Microsoft Excel

  7. ​ в таблицу, строке​«A2»​ 0).Row​ предыдущего параметра, который​ же образом даем​«Работа с данными»​ повлияет, поэтому выбираем​ прокрутки.​«Выбрать команды из»​ENTER​ списком заполнится элементами.​Разработчик​​ формы это те​​В общем на​

    Таблица со списком товаров в Microsoft Excel

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

    Переход к проверке данных в Microsoft Excel

  9. ​. Также имя можно​Теперь пользователь может выбрать​.​​ же элементы управления,​​ первом листе (осаго)​ в списке​​ достижения нужной высоты​​ связанное с элементом,​

    Окно проверки вводимых значений в Microsoft Excel

  10. ​ сумма посчитана, поля​ ячейки, где будет​​«2»​​ для программы, данный​

    Выбор списка в окне проверки вводимых значений в Microsoft Excel

  11. ​ из вышеуказанных трех​Запускается окно проверки вводимых​ который считаем более​ любое значение в​«Команды не на ленте»​​ изменить в Области выделения (Главная​​ требуемый месяц, но​Теперь вставить элемент управления​ но оформленные через​

    Переход к выбору источника в окне проверки вводимых значений в Microsoft Excel

  12. ​ я сделал табличку​Щелкните свойство​ и ширины.​ выбранным в списке.​ формы очищены.​ производиться нумерация, а​в данной строчке​ параметр присваивает название​​ ячеек. Прежде всего,​​ данных. Кликаем по​ подходящим.​ табличном массиве, изменив​. Далее из списка​ / Редактирование/ Найти​

    Адрес диапазона внесен в поле в Microsoft Excel

  13. ​ Поле со списком​ можно через меню: Разработчик/​ меню (для пользователей,​ (это до того​LinkedCell​Чтобы переместить поле со​​ Его можно использовать​​Повторно заполняем форму и​​ координаты «​​ означает второй столбец​

    Закрытие окна проверки вводимых значений в Microsoft Excel

  14. ​ листу, видимое пользователю​ выделим, а потом​ полю​Затем открывается небольшое окошко​ его в форме.​ команд, расположенного в​ и выделить/ Область​ пока не способно​ Элементы управления/ Вставить.​ которые не знакомы​​ как я задал​​(Связанная ячейка).​ списком на листе,​ в формуле для​ жмем на кнопку​A»​ листа. Именно в​ на панели ярлыков.​ дадим ему наименование​

    Список со значениями в Microsoft Excel

  15. ​«Тип данных»​ форматирования таблицы. В​ Чтобы изменения отобразились​​ алфавитном порядке, находим​​ выделения).​

    Выбранная позиция отобразилась в ячейке в Microsoft Excel

  16. ​ вернуть выбранное значение​Обратите внимание, что в​ с VBA). Для​ тут вопрос)​Связывание поля со списком​ выделите его и​ получения фактического элемента​«Добавить»​— адрес всего​​ этом столбце находится​​Как видим, после этого​ в специальном поле.​, в котором по​ нем указан диапазон,​ на листе, после​ и выделяем позицию​Зачем нам знать имя​ в ячейку. О​ этом меню можно​ Вашей задачи конечно​Там выбираются элементы​ и списка элементов​ перетащите в нужное​ из входного диапазона.​.​ столбца с нумерацией.​ колонка​ автоматически изменится и​ Пусть это будет​​ умолчанию установлен параметр​​ который мы ранее​ внесения их в​«Форма…»​​ элемента управления? Если​​ том, как связать​

    Наименование первой ячейки в Microsoft Excel

  17. ​ также вставить Элементы​ не подходят, так​ из списка и​Щелкните поле рядом со​​ место.​​В группе​

    Наименование второй ячейки в Microsoft Excel

  18. ​Как видим, и вторая​ Проверьте, где именно​​«Наименование товара»​​ наименование​

    Наименование третьей ячейки в Microsoft Excel

  19. ​ имя​«Любое значение»​ выделили, то есть,​ соответствующий блок инструмента,​. Затем жмем на​ Вы не планируете​ Поле со списком​ ActiveX, которые расположены​ как и не​ потом с помощью​​ свойством​​Щелкните правой кнопкой мыши​

    присвоение наименования диапазону в Microsoft Excel

  20. ​Возможен выбор​ строка также добавлена​ будет выводиться нумерация​. По ней мы​Листа 1​«Diapason»​.​ диапазон шапки. Как​​ жмем на кнопку​​ кнопку​ управлять Поля со​​ с ячейкой читайте​​ ниже интересующих нас​

    Сохранение книги в Microsoft Excel

  21. ​ предназначены для этого.​ функции выбор (сейчас​​ListFillRange​​ поле со списком​​установите переключатель​ в табличный массив.​​ в вашей таблице​ будем считать количество​​в области​​.​

    Окно сохранения файла в Microsoft Excel

  22. ​Из раскрывшихся вариантов выбираем​ правило, в данном​«Добавить»​«Добавить»​​ списком из программы​​ ниже.​ Элементов управления формы.​ Огромное спасибо MicroSofty,​ я понял что​(Диапазон элементов списка)​ и выберите команду​одинарного значения​ Это означает, что​ и измените данные​ рядов. Поэтому, если​
  23. ​«Project»​После последнего действия обязательно​ позицию​​ поле заполнено все​​.​.​​ VBA, то имя​​Как было сказано выше,​ У обоих типов​ что оставили возможность​​ можно использовать индекс)​​ и укажите диапазон​

    Переход в редактор макросов в Microsoft Excel

  24. ​Формат объекта​и нажмите кнопку​ инструмент работает.​ координаты в коде,​​ в вашем случае​​, на то, которое​ сохраняем документ, чтобы​«Список»​ верно. Но нам​Как видим, изменение сразу​После этого нужный нам​ может потребоваться только​​ все Элементы управления​​ есть одни и​

    Редактор макросов в Microsoft Excel

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

    ​ Это значение помещается​​ Кнопка, Список, Флажок​​ управления).​ выбираем тип тс​ списка​Элемент управления​Примечание:​ в Excel​ диапазона формы ввода​ счету, то нужно​Затем переходим в центральную​ макрос, созданный нами​ окно проверки вводимых​«Таблица с заголовками»​Если нам нужно удалить,​ Жмем на кнопку​

    ​ Об этом читайте​ в ячейку определенную​ и т.п.  Разница​​x2Far​​ и получаем цену.​​Щелкните поле​​и настройте следующие​  Если вы хотите​Как создать кнопку​

    Изменение наименования листа в редакторе макросов в Microsoft Excel

  26. ​ данных после того,​ ввести соответствующее число.​ область окна. Именно​ в дальнейшем. Для​ значений несколько изменило​. После этого жмем​ какую-то строчку, то​«OK»​ ниже.​ пользователем. Чтобы связать​ между ними следующая:​: Блин битый час​​А на втором​​ListRows​

    Поле в редкторе макросов отобразилось в Microsoft Excel

  27. ​ параметры.​ выбрать параметр​ в Excel​ как информация из​


    ​ Значение​
    ​ тут нам нужно​ сохранения переходим во​
    ​ свою конфигурацию. Появилось​ на кнопку​
    ​ через кнопки навигации​
    ​.​Включите Область выделения (Главная / Редактирование/​ Элемент управления с​
    ​ чтобы использовать Элементы ActiveX​ сижу уже, ничего​
    ​ листе (Осаго2) я​
    ​и введите число​
    ​Формировать список по диапазону​
    ​набора значений​В Экселе существует два​
    ​ неё была перенесена​«End(xlUp).Offset(1, 0).Row»​
    ​ будет записать сам​ вкладку​
    ​ дополнительное поле​«OK»​
    ​ или полосу прокрутки​Теперь данный инструмент располагается​
    ​ Найти и выделить)​
    ​ ячейкой, кликните на​ необходимо использовать VBA,​
    ​ не получается.​
    ​ начал делать с​
    ​ элементов.​
    ​: введите диапазон ячеек,​
    ​или​

    ​ способа применения формы​ в таблицу:​в любом случае​ код макроса. Если​«Файл»​«Источник»​.​ переходим к соответствующему​ в окне Excel​В Области выделения можно управлять отображением​ него ПРАВОЙ клавишей​ а Элементы управления​Прикладываю файл с​ элементами формы АктивХ,​Закройте область​ содержащий список элементов.​списка значений​

    ​ заполнения данными: встроенная​

    ​.Range("Diapason").ClearContents​

    ​ оставляем без изменений.​​ поле редактора кода​и кликаем по​. Щелкаем по пиктограмме​Итак, наш диапазон отформатирован,​ ей блоку полей​ на панели быстрого​ не только Элементов​ мыши, в появившемся​ формы можно напрямую​ работой которую делаю.​ а она вместо​Properties​Связь с ячейкой​, подумайте о том,​

    ​ и пользовательская. Применение​Не трудно догадаться, что​​Далее рассмотрим строку​​ белого цвета в​ пункту​ справа от него​ как «умная» таблица,​ в форме. После​​ доступа, и мы​​ управления, но и​​ контекстном меню выберите Формат​​ привязать к ячейке​В общем на​ порядковых номеров элементов​(Свойства) и нажмите​: поле со списком​

    Наименование для листа в Microsoft Excel

    ​ чтобы использовать элемент​

    ​ встроенного варианта требует​ (​

    ​If .Range(«A2»).Value = «»​​ указанной области не​​«Сохранить как…»​ левой клавишей мыши.​ свидетельством чему является​ этого щелкаем по​ им можем воспользоваться.​​ других объектов на​​ объекта… Появится диалоговое окно,​ на листе.​ первом листе (осаго)​ списка, вписывает в​ кнопку​ можно связать с​ ActiveX «Список».​ минимум усилий от​«Diapason»​​ And .Range(«B2»).Value =​​ отображается, как в​.​

    Второй столбец таблицы в Microsoft Excel

    ​Затем окно проверки вводимых​

    ​ даже изменение визуального​ кнопке​ Он будет присутствовать​

    ​ листе, например рисунков.​​ выберите вкладку Элемент​Поле со списком​ я сделал табличку​ ссылаемую ячейку (LincedCell)​​Режим конструктора​​ ячейкой, где отображается​Упростите ввод данных для​ пользователя. Его всегда​) означает наименование того​​ «» Then​​ нашем случае, то​В открывшемся окне сохранения​ значений сворачивается. Выделяем​ отображения. Как видим,​

    Две первые ячейки таблицы с данными в Microsoft Excel

    ​«Удалить»​

    ​ при открытии любой​

    ​Нажмите на изображение глаза​​ управления (если такая​​(Combo box, Drop​ (это до того​​ текст. В общем,​​.​

    Имя поля наименования товара в форме ввода в Microsoft Excel

    ​ номер элемента при​


    ​ пользователей, позволив им​
    ​ можно запустить, добавив​ диапазона, который мы​
    ​«A2»​ жмем на функциональную​
    ​ в поле​ курсором с зажатой​

    ​ помимо прочего, около​​в окошке инструмента.​​ книги данным экземпляром​​ напротив имени объекта​​ вкладка отсутствует, то​ down) как, впрочем​​ как я задал​​ при выборе, он​​Завершив форматирование, можно щелкнуть​​ его выборе из​ выбирать значение из​

    Наименование полей количество и цена в Microsoft Excel

    ​ соответствующий значок на​ ранее присвоили полям​— это координаты​​ клавишу​​«Тип файлов»​​ левой клавишей мыши​​ каждого названия заголовка​​Открывается диалоговое окно предупреждения,​​ Excel.​​ и объект исчезнет/​​ Вы вставили Элемент​ и все другие​ тут вопрос)​​ пишет в А27​​ правой кнопкой мыши​​ списка. Введите номер​​ поля со списком.​​ панель быстрого доступа.​​ для ввода данных.​​ первой ячейки, в​​F7​выбираем значение​ перечень данных, которые​ столбцов появились значки​ в котором сообщается,​Теперь, чтобы инструмент понял,​ появится.​ ActiveX, а не​ Элементы управления формы,​Там выбираются элементы​ например «легковой ам»,​

    Колонки в таблице в Microsoft Excel

    ​ столбец, который содержит​ ячейки, где должен​ Поле со списком​

    ​ Пользовательскую форму нужно​ Если вы дали​

    ​ которой будет выводиться​и оно появится.​«Книга Excel с поддержкой​ размещены на листе​

    Колонка для вывода суммы в Microsoft Excel

    ​ фильтрации. Их следует​ что строка будет​


    ​ что именно ему​Элементы управления формы (Поле​
    ​ Элемент управления формы,​
    ​ возвращает только 1​ из списка и​
    ​ мне надо что​
    ​ список, и выбрать​

    ​ отображаться номер элемента.​​ состоит из текстового​​ создавать самому, но​ им другое наименование,​ нумерация строк.​Теперь для конкретно нашего​​ макросов (.xlsm)»​​ в дополнительной табличной​ отключить. Для этого​ удалена. Если вы​ нужно заполнять, следует​ со списком, Флажок,​ об этом см.​ числовое значение. См. файл примера. ​ потом с помощью​

    Столбец с нумерацией в Microsoft Excel

    ​ бы в другой​ команду​Например, в ячейке C1​ поля и списка,​ если вы хорошо​ то в этой​

    ​«B2»​

    ​ примера нужно записать​. Далее жмем на​​ области​​ выделяем любую ячейку​ уверены в своих​ оформить шапку таблицы​ Счетчик и др.)​ выше).​Обзорную статью обо всех​ функции выбор (сейчас​ ячейке (или в​Скрыть​

    Наименование полей для ввода данных в Microsoft Excel

    ​ отображается значение 3, если​ которые вместе образуют​ разбираетесь в коде​ строке должно быть​

    ​— это координаты​ в поле следующий​ кнопку​«Список товаров»​ «умной» таблицы и​ действиях, то жмите​ и записать любое​ помогают быстро менять​В поле Связь с ячейкой нужно​ элементах управления формы​ я понял что​ этой же) происходило​

    Код в редакторе макросов в Microsoft Excel

  28. ​.​ выбрать пункт​ раскрывающийся список.​ VBA, то сможете​ вставлено именно оно.​ первой ячейки, по​ код:​​«Сохранить»​​. После этого опять​​ переходим во вкладку​​ на кнопку​ значение в ней.​​ данные на листе​​ ввести ссылку на​ можно прочитать здесь.​​ можно использовать индекс)​​ сравнение с табличкой​x2Far​​Фруктовое мороженое​​Можно добавить поле со​

    Выбор элемента управления в Microsoft Excel

  29. ​ сделать этот инструмент​Дальнейшая часть кода универсальна​ которой будет производиться​Sub DataEntryForm()​.​ жмем на пиктограмму​«Данные»​«OK»​

    Указание границ кнопки в Microsoft Excel

  30. ​ Пусть табличный массив​ в определенном диапазоне,​ ячейку. Свяжем наше​Через меню Разработчик/ Элементы управления/​ в ячейках придаётся​ B27:C40 и возвращало​: Есть несколько элементов​, так как это​ списком одного из​ максимально гибким и​ и во всех​ вывод данных (​​Dim nextRow As​​Затем вам следует активировать​ справа от поля,​. Там на ленте​.​ у нас будет​​ включать и выключать​​ Поле со списком​
  31. ​ Вставить выберем левой клавишей​ соответствующее значение, т.е.​ значение цены например​ управления, в частности​

    Переименовывание кнопки в Microsoft Excel

    ​ третий элемент в​ двух типов: элемент​ подходящим под ваши​​ случаях будет вноситься​​«Наименование товара»​ Long​ работу макросов в​

    Кнопка переименована в Microsoft Excel

  32. ​ в котором появился​ в блоке инструментов​Как видим, строчка была​ состоять из четырех​ опции, делать выбор​ с ячейкой ​​ мыши элемент Поле​​ выбираем тип тс​

    Ввод данных в форму в Microsoft Excel

  33. ​ при «легковой а/м»​ раскрывающиеся списки. Надо​ списке.​ управления формы или​ нужды.​

    Значения первой строки внесены в таблицу в Microsoft Excel

  34. ​ без изменений.​). Если они у​​nextRow = Producty.Cells(Producty.Rows.Count,​​ своей версии Excel​

    Повторный ввод данных в форму в Microsoft Excel

  35. ​ адрес выделенного диапазона.​«Сортировка и фильтр»​ извлечена из табличного​ столбцов, которые имеют​ и пр. В​

Вторая строка добавлена в таблицу в Microsoft Excel

​А1​
​ со списком (см.​ и получаем цену.​
​ писало 1980, если​ что бы при​

​Совет:​ элемент ActiveX. Если​Автор: Максим Тютюшев​После того, как вы​ вас отличаются, то​ 2).End(xlUp).Offset(1, 0).Row​ и включить вкладку​Происходит возврат к окошку​щелкаем по значку​ диапазона. После того,​ названия​ принципе, без них​.​ рисунок ниже).​А на втором​ «прицеп» то 810​ выборе какого-нибудь пункта​  Чтобы вместо номера​ необходимо создать поле​

​Примечание:​

lumpics.ru

Добавление списка или поля со списком на лист в Excel

​ записали код макроса​​ введите вместо этих​With Producty​«Разработчик»​ проверки вводимых значений.​«Фильтр»​ как заполнение и​«Наименование товара»​ можно обойтись, но​Нажмите ОК.​После этого выпадающее меню​ листе (Осаго2) я​ и т.д.​ из списка, блокировался​ отображать сам элемент,​ со списком, в​Мы стараемся как​ в окно редактора,​ координат свои данные.​If .Range(«A2»).Value =​, если вы это​ Как видим, координаты​

​.​ редактирование закончено, можно​,​ они делают управление​Существует и другой способ​

Образец списка

Добавление списка на лист

  1. ​ закроется, а курсор​ начал делать с​Я перепробовал функции​ другой раскрывающийся список​

    список значений для использования в поле со списком

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

    ​ «» And .Range(«B2»).Value​​ до сих пор​​ выделенного диапазона в​​Существует ещё один вариант​ выходить из окна​​«Количество»​​ данными на листе​​ связать Элемент управления​​ вместо обычного толстого​​ элементами формы АктивХ,​​ бизвлечь, впр и​​ или несколько списков,​​ ИНДЕКС. В нашем​ изменять текст в​​ вас актуальными справочными​​ значок сохранения в​​Producty.Range(«Name»).Copy​​ = «» Then​

  3. ​ не сделали. Дело​​ нем уже отображены​​ отключения фильтра. При​​ инструмента, нажав на​​,​

    кнопка управления формой списка

  4. ​ более наглядным и​ и ячейку: выделите​

  5. ​ крестика​​ а она вместо​​ индекс. Но то​​ или элементов управления.​​ примере поле со​

    Свойства элемента управления списком.

    • ​ текстовом поле, рассмотрите​​ материалами на вашем​​ виде дискеты в​В ней параметр​

      ​nextRow = nextRow​​ в том, что​ в поле​ этом не нужно​ кнопку​

    • ​«Цена»​​ уменьшают вероятность ввода​​ правой клавишей мыши​ ​

      ​ порядковых номеров элементов​​ ли я их​Вот например как​ списком связано с​ возможность использования элемента​ языке. Эта страница​ левой части окна.​«Name»​

    • ​ — 1​​ обе эти функции​​«Источник»​​ даже будет переходить​​«Закрыть»​​и​​ некорректных данных.​

      ​ Элемент управления, в Строке​​превратится в тонкий крестик.​ списка, вписывает в​​ неправильно задаю, то​​ тут:​​ ячейкой B1, а​​ ActiveX «Поле со​ переведена автоматически, поэтому​ Затем можно его​

Добавление поля со списком на лист

​означат имя, которое​End If​ по умолчанию в​. Кликаем по кнопке​ на другую вкладку,​.​«Сумма»​Для облегчения ввода данных​ формул введите =, затем​

Поле со списком

​Удерживая левую клавишу мыши​ ссылаемую ячейку (LincedCell)​ ли они тут​Это калькулятор осаго,​ диапазон ячеек для​ списком». Элемент ActiveX​ ее текст может​ закрывать, щелкнув по​ мы присвоили полю​Producty.Range(«Name»).Copy​ программе отключены, и​«OK»​ оставаясь во вкладке​После этого для предания​. Вводим данные названия​ в таблицу в​ кликните левой клавишей​ проведите курсором вправо​ текст. В общем,​ не подходят, в​ когда выбираешь пункт​ списка — A1:A2. Если​ «Поле со списком»​ содержать неточности и​ стандартной кнопке закрытия​

  1. ​«Наименование товара»​.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues​ их активацию нужно​внизу окна.​«Главная»​

    список значений для использования в поле со списком

    ​ табличному массиву более​​ в произвольный горизонтальный​ Excel можно воспользоваться​ мыши на нужную​

  2. ​ и немного вниз,​​ при выборе, он​​ общем у меня​​ Тип ТС: грузовой​​ в ячейку C1​

    ​ более универсален: вы​​ грамматические ошибки. Для​​ окон в правом​​в форме ввода.​.Cells(nextRow, 3).Value =​​ выполнять принудительно в​​Теперь справа от выделенной​​. После выделения ячейки​​ наглядного визуального вида​​ диапазон листа.​​ специальными формами, которые​​ ячейку, нажмите клавишу ​​ элемент​ пишет в А27​​ не получается.​​ а/м, то становится​​ ввести формулу​​ можете изменить свойства​

  3. ​ нас важно, чтобы​ верхнем углу.​В строках​

    • ​ Producty.Range(«Volum»).Value​​ окне параметров Excel.​​ пустой ячейки объекта​​ табличной области на​ можно произвести форматирование.​​Также, чтобы программа поняла,​

      ​ помогут ускорить процесс​

    • ​ENTER​​Поле со списком​​ например «легковой ам»,​​Заранее спасибо.​ неактивным поле «Мощность​​=ИНДЕКС(A1:A5;B1)​

      Добавление поля со списком

  4. ​ шрифта, чтобы текст​ эта статья была​После этого возвращаемся на​.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues​.Cells(nextRow, 4).Value =​

​После того, как вы​​ ввода данных появилась​

  • ​ ленте в блоке​Кроме того, с помощью​ с каким именно​ заполнения табличного диапазона​. Чтобы изменить ячейку,​будет помещен на​ мне надо что​x2Far​

  • ​ ТС».​, то при выборе​ было легче читать​ вам полезна. Просим​ лист Excel. Теперь​

Форматирование элемента управления формы «Поле со списком»

  1. ​.Cells(nextRow, 3).Value =​ Producty.Range(«Price»).Value​ сделали это, переходим​​ пиктограмма в виде​​ настроек​

  2. ​ макроса и ряда​​ диапазонам ей нужно​​ информацией. В Экселе​ с которой связан​

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

    • ​ лист.​​ бы в другой​: Спасибо, нашёл тут​

    • ​Вот хотелось бы​​ третьего пункта в​ на листе с​ вас уделить пару​ нам следует разместить​ Producty.Range(«Volum»).Value​.Cells(nextRow, 5).Value =​ во вкладку​ треугольника. При клике​

      ​«Редактирование»​ других инструментов существует​ будет работать, следует​​ имеется встроенный инструмент​​ Элемент управления, достаточно​Чтобы выделить Поле со​ ячейке (или в​

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

      ​=ИНДЕКС(B27:C40;ПОИСКПОЗ(A27;B27:B40;0);2)​​ добиться того же​ ячейке C1 появится​ измененным масштабом. Кроме​ секунд и сообщить,​ кнопку, которая будет​.Cells(nextRow, 4).Value =​ Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value​«Разработчик»​ на неё открывается​щелкаем по значку​ возможность создать собственную​​ ввести любое значение​​ позволяющий производить заполнение​ перетащить эту ячейку​ списком нажмите и​ этой же) происходило​

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

    • ​УРААААААА!!!!!!!!!! =)))))))))​​ в экселе, но​ текст «Фруктовое мороженое».​ того, такое поле​ помогла ли она​ активировать созданный макрос.​ Producty.Range(«Price»).Value​.Range(«A2»).Formula = «=IF(ISBLANK(B2),​. Кликаем по большому​ выпадающий список, состоящий​«Сортировка и фильтр»​ пользовательскую форму для​ в первую строку​ подобным методом. Также​

      Отображается полоса прокрутки.

  3. ​ в нужное место,​​ удерживайте клавишу​​ сравнение с табличкой​

Форматирование элемента ActiveX «Поле со списком»

  1. ​x2Far​​ не понимаю как,​​Количество строк списка:​​ со списком можно​​ вам, с помощью​

  2. ​ Для этого переходим​.Cells(nextRow, 5).Value =​ «»»», COUNTA($B$2:B2))»​​ значку​​ из названий, которые​​. В появившемся списке​​ заполнения табличной области.​ табличного массива.​

    ​ пользователь может создать​ взяв за ее​CTRL​ B27:C40 и возвращало​

    Пример поля со списком.

    Параметры свойств для элемента ActiveX

    ​: Есть несколько элементов​

    ​ дело даже не​

    ​количество строк, которые​

    ​ программно разместить в​​ кнопок внизу страницы.​​ во вкладку​ Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value​If nextRow >​​«Visual Basic»​​ подтягиваются из табличного​ выбираем позицию​

    Свойство цветной заливки для поля со списком.

    ​ Она будет создаваться​После этого выделяем любую​

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

    Параметры шрифтов в текстовом поле

    ​ ячейках, содержащих список​

    ​ Для удобства также​​«Разработчик»​​наименования​ 2 Then​, который расположен на​​ массива​​«Фильтр»​ прямо на листе,​

    ​ ячейку заготовки таблицы​ которая будет максимально​Поле со списком удобно​

    ​ клавишей на Поле​​ при «легковой а/м»​​ раскрывающиеся списки. Надо​

    ​ или макросами, а​ щелкнуть стрелку вниз.​

    ​ проверки данных.​ приводим ссылку на​​. В блоке настроек​​«Volum»​Range(«A2»).Select​ ленте в блоке​

    ​«Список товаров»​.​

    ​ и представлять собой​​ и щелкаем на​​ адаптирована под его​ для выбора единственного​

  3. ​ со списком.​​ писало 1980, если​​ что бы при​ в том как​​ Например, если список​​Выберите столбец, который можно​

  4. ​ оригинал (на английском​«Элементы управления»​и​Selection.AutoFill Destination:=Range(«A2:A» &​ инструментов​​. Произвольные данные в​​Как видим, после этого​

support.office.com

Элементы управления формы

​ её диапазон. С​​ панели быстрого доступа​ потребности, применив для​ значения из заранее​Если навести курсор на​ «прицеп» то 810​ выборе какого-нибудь пункта​ вообще сделать неактивным​ содержит 10 элементов и​ скрыть на листе,​

​ языке) .​на ленте кликаем​
​«Price»​ nextRow)​«Код»​ указанную ячейку теперь​ действия значки фильтрации​ помощью данного инструмента​

​ по значку​ этого макрос. Давайте​ подготовленного списка. Выбранное​выделенный​ и т.д.​ из списка, блокировался​ элемент. Пытался сделать​ вы не хотите​ и создайте список,​Если вам нужно отобразить​ по кнопке​означают названия, которые​Range(«A2:A» & nextRow).Select​.​ внести невозможно, а​ исчезли из шапки​ пользователь сам сможет​«Форма…»​

​ рассмотрим различные варианты​​ значение может быть​элемент Поле со​Я перепробовал функции​ другой раскрывающийся список​ макрос, чтоб на​ использовать прокрутку, вместо​ введя по одному​ список значений, которые​«Вставить»​ мы присвоили полям​End If​Последнее действие приводит к​ только можно выбрать​

​ таблицы, как это​​ реализовать те возможности,​, который мы ранее​ использования этих полезных​ использовано для вывода​

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

​. Открывается перечень инструментов.​​«Количество»​.Range(«Diapason»).ClearContents​ тому, что запускается​ из представленного списка​ и требовалось.​ которые считает нужными.​ активировали.​ инструментов заполнения в​ соответствующих значений из​ форму 4-х направленных​ индекс. Но то​ или элементов управления.​ объект появлялся и​ введите 10. Если​Примечание:​ добавьте на лист​

​ В группе инструментов​​и​End With​ редактор макросов VBA.​

​ нужную позицию. Выбираем​Затем нам следует создать​

​ По функционалу он​Итак, открывается окно указанного​ Excel.​ той же строки.​ в разные стороны​ ли я их​
​Вот например как​ блокировал собой возможность​ ввести число, которое​ Можно также создать список​ список.​«Элементы управления формы»​«Цена»​End Sub​ В области​ пункт в выпадающем​

​ саму форму ввода​ практически ни в​ инструмента. Как видим,​Скачать последнюю версию​ Например, если в​ стрелок), затем нажать​ неправильно задаю, то​ тут:​ нажатия на список,​ меньше количества элементов​ на другом листе​Создайте перечень элементов, которые​выбираем самый первый​в той же​Но этот код не​«Project»​ списке.​ данных. Она тоже​ чем не будет​ данный объект имеет​ Excel​ таблице продаж содержатся​ и удерживать левую​

​ ли они тут​Это калькулятор осаго,​ но он никак​ в списке, появится​ той же книги.​ должны отображаться в​ –​ форме ввода.​ универсальный, то есть,​

​, которая расположена в​

​Как видим, выбранная позиция​​ будет представлять собой​

​ уступать встроенному аналогу​

​ поля, которые соответствуют​

planetaexcel.ru

Элементы управления формы

​Форма заполнения представляет собой​​ объемы продаж по​ кнопку мыши, то​ не подходят, в​ когда выбираешь пункт​ не уходит на​ полоса прокрутки.​На вкладке​ списке, как показано​«Кнопка»​

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

​ месяцам (диапазон​ можно его переместить. Удерживая​ общем у меня​ Тип ТС: грузовой​ задний план.​Нажмите кнопку​Разработчик​ на рисунке.​.​ которые мы указали​ виде подходит только​ окна, выделяем имя​ в поле​ массив, состоящий из​ в чем, возможно,​ табличного массива. При​ наименования которых соответствуют​F2:G13​

​ клавишу ALT можно выровнять​​ не получается.​ а/м, то становится​VovaK​ОК​нажмите кнопку​На вкладке​Затем с зажатой левой​ выше, цифры​ для нашего случая.​ того листа, где​«Наименование товара»​ двух столбцов. Наименования​ превосходить его. Единственный​

​ этом первое поле​​ названиям колонок столбцов​на рисунке ниже),​ Поле со списком​Заранее спасибо.​

​ неактивным поле «Мощность​​: У всех элементов​.​Вставить​Разработчик​ клавишей мыши обводим​«2»​

​ Если вы хотите​​ располагаются наши таблицы.​.​ строк данного объекта​ недостаток состоит в​ уже заполнено значением,​ заполняемой таблицы. В​ то выбирая в​ по границам ячеек.​x2Far​ ТС».​ управления есть свойства​На вкладке​.​нажмите кнопку​ курсором область, где​,​

​ его приспособить под​​ В данном случае​Далее нам нужно будет​ будут соответствовать именам​

​ том, что для​ так как мы​

​ эти поля нужно​ Поле со списком​ Выделенный элемент также​: Спасибо, нашёл тут​Вот хотелось бы​ .Visible и .Enabled.​
​Разработчик​Примечание:​Вставить​ хотим разместить кнопку​«3»​ свои потребности, то​ это​ присвоить имена тем​ столбцов основной таблицы.​ каждого табличного массива​

​ его ввели вручную​ вводить данные и​ месяц, можно вывести​ можно перемещать стрелками​=ИНДЕКС(B27:C40;ПОИСКПОЗ(A27;B27:B40;0);2)​ добиться того же​ Первое делает элемент​нажмите кнопку​ Если вкладка​.​ запуска макроса, который​,​ его следует соответственно​«Лист 1»​ трем ячейкам формы​ Исключение составляют столбцы​ придется составлять отдельную​ на листе.​ они тут же​ соответствующий объем продаж​ с клавиатуры.​УРААААААА!!!!!!!!!! =)))))))))​ в экселе, но​

​ невидимым, второе неактивным.​Режим конструктора​Разработчик​Примечание:​ будет производить перенос​«4»​ модифицировать. Чтобы вы​.​ ввода, куда мы​

​«№ п/п»​

​ форму, а не​​Вводим значения, которые считаем​

​ будут добавляться новой​

​ (см. ячейку​

planetaexcel.ru

​Если навести курсор на​

При упоминании баз данных (БД) первым делом, конечно, в голову приходят всякие умные слова типа SQL, Oracle, 1С или хотя бы Access. Безусловно, это очень мощные (и недешевые в большинстве своем) программы, способные автоматизировать работу большой и сложной компании с кучей данных. Беда в том, что иногда такая мощь просто не нужна. Ваш бизнес может быть небольшим и с относительно несложными бизнес-процессами, но автоматизировать его тоже хочется. Причем именно для маленьких компаний это, зачастую, вопрос выживания.

Для начала давайте сформулируем ТЗ. В большинстве случаев база данных для учета, например, классических продаж  должна уметь:

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

Со всем этим вполне может справиться Microsoft Excel, если приложить немного усилий. Давайте попробуем это реализовать.

Шаг 1. Исходные данные в виде таблиц

Информацию о товарах, продажах и клиентах будем хранить в трех таблицах (на одном листе или на разных — все равно). Принципиально важно, превратить их в «умные таблицы» с автоподстройкой размеров, чтобы не думать об этом в будущем. Это делается с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table). На появившейся затем вкладке Конструктор (Design) присвоим таблицам наглядные имена в поле Имя таблицы для последующего использования:

Присвоение имени "умной таблице"

Итого у нас должны получиться три «умных таблицы»:

Умные таблицы для хранения данных

Обратите внимание, что таблицы могут содержать дополнительные уточняющие данные. Так, например, наш Прайс содержит дополнительно информацию о категории (товарной группе, упаковке, весу и т.п.) каждого товара, а таблица Клиенты — город и регион (адрес, ИНН, банковские реквизиты и т.п.) каждого из них.

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

Шаг 2. Создаем форму для ввода данных

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

Форма ввода

В ячейке B3 для получения обновляемой текущей даты-времени используем функцию ТДАТА (NOW). Если время не нужно, то вместо ТДАТА можно применить функцию СЕГОДНЯ (TODAY).

В ячейке B11 найдем цену выбранного товара в третьем столбце умной таблицы Прайс с помощью функции ВПР (VLOOKUP). Если раньше с ней не сталкивались, то сначала почитайте и посмотрите видео тут.

В ячейке B7 нам нужен выпадающий список с товарами из прайс-листа. Для этого можно использовать команду Данные — Проверка данных (Data — Validation), указать в качестве ограничения Список (List) и ввести затем в поле Источник (Source) ссылку на столбец Наименование из нашей умной таблицы Прайс:

Выпадающий список

Аналогичным образом создается выпадающий список с клиентами, но источник будет уже:

=ДВССЫЛ(«Клиенты[Клиент]»)

Функция ДВССЫЛ (INDIRECT) нужна, в данном случае, потому что Excel, к сожалению, не понимает прямых ссылок на умные таблицы в поле Источник. Но та же ссылка «завернутая» в функцию ДВССЫЛ работает при этом «на ура» (подробнее об этом было в статье про создание выпадающих списков с наполнением).

Шаг 3. Добавляем макрос ввода продаж

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

Форма ввода данных со строкой для загрузки

Т.е. в ячейке A20 будет ссылка =B3, в ячейке B20 ссылка на =B7 и т.д.

Теперь добавим элементарный макрос в 2 строчки, который копирует созданную строку и добавляет ее к таблице Продажи. Для этого жмем сочетание Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer). Если эту вкладку не видно, то включите ее сначала в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon). В открывшемся окне редактора Visual Basic вставляем новый пустой модуль через меню Insert — Module и вводим туда код нашего макроса:

Sub Add_Sell()
    Worksheets("Форма ввода").Range("A20:E20").Copy                         'копируем строчку с данными из формы
    n = Worksheets("Продажи").Range("A100000").End(xlUp).Row                'определяем номер последней строки в табл. Продажи
    Worksheets("Продажи").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues 'вставляем в следующую пустую строку
    Worksheets("Форма ввода").Range("B5,B7,B9").ClearContents               'очищаем форму
End Sub

Теперь можно добавить к нашей форме кнопку для запуска созданного макроса, используя выпадающий список Вставить на вкладке Разработчик (Developer — Insert — Button):

Добавление кнопки для запуска макроса

После того, как вы ее нарисуете, удерживая нажатой левую кнопку мыши, Excel сам спросит вас — какой именно макрос нужно на нее назначить — выбираем наш макрос Add_Sell. Текст на кнопке можно поменять, щелкнув по ней правой кнопкой мыши и выбрав команду Изменить текст.

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

Шаг 4. Связываем таблицы

Перед построением отчета свяжем наши таблицы между собой, чтобы потом можно было оперативно вычислять продажи по регионам, клиентам или категориям. В старых версиях Excel для этого потребовалось бы использовать несколько функций ВПР (VLOOKUP) для подстановки цен, категорий, клиентов, городов и т.д. в таблицу Продажи. Это требует времени и сил от нас, а также «кушает» немало ресурсов Excel. Начиная с Excel 2013 все можно реализовать существенно проще, просто настроив связи между таблицами.

Для этого на вкладке Данные (Data) нажмите кнопку Отношения (Relations). В появившемся окне нажмите кнопку Создать (New) и выберите из выпадающих списков таблицы и названия столбцов, по которым они должны быть связаны:

Настройка связей между таблицами

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

Само-собой, аналогичным образом связываются и таблица Продажи с таблицей Клиенты по общему столбцу Клиент:

Связывание таблиц

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

Шаг 5. Строим отчеты с помощью сводной

Теперь для анализа продаж и отслеживания динамики процесса, сформируем для примера какой-нибудь отчет с помощью сводной таблицы. Установите активную ячейку в таблицу Продажи и выберите на ленте вкладку Вставка — Сводная таблица (Insert — Pivot Table). В открывшемся окне Excel спросит нас про источник данных (т.е. таблицу Продажи) и место для выгрузки отчета (лучше на новый лист):

Создание сводной таблицы

Жизненно важный момент состоит в том, что нужно обязательно включить флажок Добавить эти данные в модель данных (Add data to Data Model) в нижней части окна, чтобы Excel понял, что мы хотим строить отчет не только по текущей таблице, но и задействовать все связи.

После нажатия на ОК в правой половине окна появится панель Поля сводной таблицы, где нужно щелкнуть по ссылке Все, чтобы увидеть не только текущую, а сразу все «умные таблицы», которые есть в книге.А затем можно, как и в классической сводной таблице, просто перетащить мышью нужные нам поля из любых связанных таблиц в области Фильтра, Строк, Столбцов или Значений — и Excel моментально построит любой нужный нам отчет на листе:

Отчет сводной таблицы

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

Также, выделив любую ячейку в сводной и нажав кнопку Сводная диаграмма (Pivot Chart) на вкладке Анализ (Analysis) или Параметры (Options) можно быстро визуализировать посчитанные в ней результаты.

Шаг 6. Заполняем печатные формы

Еще одной типовой задачей любой БД является автоматическое заполнение различных печатных бланков и форм (накладные, счета, акты и т.п.). Про один из способов это сделать, я уже как-то писал. Здесь же реализуем, для примера, заполнение формы по номеру счета:

Печатная форма счета

Предполагается, что в ячейку C2 пользователь будет вводить число (номер строки в таблице Продажи, по сути), а затем нужные нам данные подтягиваются с помощью уже знакомой функции ВПР (VLOOKUP) и функции ИНДЕКС (INDEX).

Ссылки по теме

  • Как использовать функцию ВПР (VLOOKUP) для поиска и подстановки значений
  • Как заменить ВПР функциями ИНДЕКС и ПОИСКПОЗ
  • Автоматическое заполнение форм и бланков данными из таблицы
  • Создание отчетов с помощью сводных таблиц

Like this post? Please share to your friends:
  • Создать excel шаблона для заполнения
  • Создания своей базы данных в excel
  • Создать excel файл по шаблону
  • Создания разных типов документов в word
  • Создать excel не открывается