Список созданных таблиц excel

Skip to content

На чтение 4 мин. Просмотров 2.3k.

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

Содержание

  1. Как макрос работает
  2. Код макроса
  3. Как это код работает
  4. Как использовать

Как макрос работает

Когда вы создаете переменную объекта PivotTable, вы открываете все свойства сводной таблицы — такие как имя, местоположение, индекс кэша и т. д. В этом макросе цикл проходит по каждой сводной таблице, извлекает определенные свойства на новый лист.

Код макроса

Sub SpisokSvodnihTablicKnigi()
'Шаг 1: Объявляем переменные
Dim ws As Worksheet
Dim pt As PivotTable
Dim MyCell As Range
'Шаг 2: Добавляем новый лист с заголовками столбцов
Worksheets.Add
Range("A1:F1") = Array("Pivot Name", "Worksheet", _
"Location", "Cache Index", _
"Source Data Location", _
"Row Count")
'Шаг 3: Устанавливаем якорь курсора в ячейке А2
Set MyCell = ActiveSheet.Range("A2")
'Шаг 4: Запускаем цикл по листам книги
For Each ws In Worksheets
'Шаг 5: Запускаем цикл по всем сводным таблицам
For Each pt In ws.PivotTables
MyCell.Offset(0, 0) = pt.Name
MyCell.Offset(0, 1) = pt.Parent.Name
MyRange.Offset(0, 2) = pt.TableRange2.Address
MyRange.Offset(0, 3) = pt.CacheIndex
MyRange.Offset(0, 4) = Application.ConvertFormula _
(pt.PivotCache.SourceData, xlR1C1, xlA1)
MyRange.Offset(0, 5) = pt.PivotCache.RecordCount
'Шаг 6: Переместить курсор строкой вниз и установить якорь
Set MyRange = MyRange.Offset(1, 0)
'Шаг 7: Работа через все сводные таблицы и листы
Next pt
Next ws
'Шаг 8: Соответствие размеров столбцов
ActiveSheet.Cells.EntireColumn.AutoFit
End Sub

Как это код работает

  1. Шаг 1 объявляет объект под названием WS. Это создает контейнер памяти для каждого рабочего листа. Затем мы объявляем объект под названием PT, который содержит
    каждый цикл PivotTable . Наконец, мы создаем переменную диапазона под названием MyCell. Эта переменная действует как курсор, когда заполняет список инвентаризации.
  2. Шаг 2 создает новый рабочий лист и добавляет заголовки столбцов, которые варьируются от А1 до F1. Обратите внимание, что мы можем добавить заголовки столбцов, используя простой массив, который содержит наши метки заголовка. Этот новый рабочий лист остается активным.
  3. Так же, как вы бы вручную помещали курсор в ячейку, если вы должны были начать вводить данные, шаг 3 помещает MyCell курсор в ячейку A2 активного листа. Это наша точка привязки, что позволяет нам перейти отсюда. На протяжении всего макроса, вы используете свойство offset. Свойство offset позволяет передвигать курсор Offset х количество строк и х количество столбцов от точки привязки. Например, Range (A2) .offset (0,1) будет перемещать курсор на один столбец. Если мы хотим, переместить курсор на одну строку вниз, мы вводим Range(A2). Offset(1, 0). В макросе, мы перемещаемся с помощью
    Offset MyCell. Offset (0,4) будет перемещать курсор на четыре столбца справа от анкерной ячейки. После того, как курсор будет на месте, мы можем ввести данные.
  4. Шаг 4 начинает зацикливание, говоря Excel, что мы хотим оценить все рабочие листы в этой книге.
  5. Шаг 5 перебирает все сводные таблицы в каждом листе. Для каждого PivotTable он находит, извлекает соответствующее свойство и заполняет таблицу на основании положения
    курсора (шаг 3). Мы используем шесть свойств: Name, Parent.Range, TableRange2, CacheIndex, PivotCache.SourceData и PivotCache. RecordCount.
    Свойство Name возвращает имя сводной таблице.Свойство Parent.Range дает нам лист, где постоянно находится PivotTable. Свойство TableRange2.Address возвращает диапазон, где находится PivotTable. Свойство CacheIndex возвращает порядковый номер кэша сводной для сводной таблицы.
    Кэш-память поворота представляет собой контейнер памяти, которая хранит все данные для сводной таблицы. При создании новой сводной таблицы, Excel делает снимок исходных данных и
    создает кэш возврата. Каждый раз при обновлении сводной таблицы, Excel приходит к исходным данным и делает еще один снимок, тем самым обновляя кэш возврата. Каждый кэш имеет свойство SourceData, который идентифицирует местоположение данных, используемых для создания кэш возврата. PivotCache. SourceData свойство сообщает нам, какой диапазон будет призван, когда мы обновить сводную таблицу. Вы также можете вытащить количество записей из исходных данных, используя PivotCache.Recordcount.
  6. Каждый раз, когда макрос встречает новую сводную таблицу, он перемещает курсор вниз MyCell строку, начиная новую строку для каждого сводной таблицы.
  7. Шаг 7 говорит Excel повторить цикл для всех листов. После того, как все листы были оценены, макрос переходит к последнему шагу.
  8. Шаг 8 завершает с небольшим количеством форматирования размеров столбцов, чтобы соответствовало данным.

Как использовать

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

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.

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

Лист, показанный на рис. 167.1, отображает тот тип преобразования, о котором я говорю. Диапазон А1:Е4 содержит исходную сводную таблицу: 48 точек данных. Столбцы G:I показывают часть 48-строковой таблицы, полученную из сводной таблицы. Другими словами, каждое значение в исходной сводной таблице преобразуется в строку, которая также содержит соответствующие значению название продукта и месяц. Этот тип списка полезен, поскольку его можно отсортировать и манипулировать им другими способами.

Рис. 167.1. Преобразование сводной таблицы в список

Рис. 167.1. Преобразование сводной таблицы в список

Хитрость создания такого списка заключается в использовании сводной таблицы. Но прежде чем вы сможете применить этот метод, вы должны добавить команду Мастер сводных таблиц на панель быстрого доступа. Excel 2007, Excel 2010 и Excel 2013 все еще поддерживают Мастера сводной таблицы, но он недоступен на ленте. Чтобы получить доступ к мастеру, выполните следующие действия.

  1. Щелкните правой кнопкой мыши на панели быстрого доступа и выберите в контекстном меню пункт Настройка панели быстрого доступа.
  2. В разделе Панель быстрого доступа диалогового окна Параметры Excel выберите Команды на ленте из раскрывающегося списка слева.
  3. Прокрутите список и выберите пункт Мастер сводных таблиц и диаграмм.
  4. Нажмите кнопку Добавить.
  5. Нажмите , чтобы закрыть диалоговое окно Параметры Excel.

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

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

  1. Активизируйте любую ячейку в сводной таблице.
  2. Щелкните на значке Мастер сводных таблиц и диаграмм, который вы добавили на панель быстрого доступа.
  3. В диалоговом окне Мастер сводных таблиц и диаграмм установите первый переключатель в положение в нескольких диапазонах консолидации и нажмите кнопку Далее.
  4. В шаге 2а установите переключатель в положите Создать поля страницы и нажмите кнопку Далее.
  5. В шаге 2b в поле Диапазон укажите диапазон сводной таблицы ( А1:Е4 для выборки из примера) и нажмите кнопку Добавить; затем нажмите кнопку Далее, чтобы перейти к шагу 3.
  6. В шаге 3 выберите место для сводной таблицы и нажмите кнопку Готово. Excel создаст сводную таблицу с данными и покажет область Список полей сводной таблицы.
  7. В области Список полей сводной таблицы снимите флажки Строка и Столбец.

Так, сводная таблица остается только с полем данных Сумма по полю Значение. На данный момент небольшая сводная таблица показывает только сумму всех значений (рис. 167.2).

Рис. 167.2. Эта небольшая сводная таблица может быть расширена

Рис. 167.2. Эта небольшая сводная таблица может быть расширена

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

Как превратить таблицу в список excel

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

Важно: Создание списка на Excel таблицы недоступно в GCC высокой и doD-среде.

Другой способ перемещения данных в SharePoint — экспорт таблицы непосредственно из Excel. Дополнительные сведения см. в Excel таблицы SharePoint. Дополнительные сведения о поддерживаемых SharePoint браузерах см. в SharePoint Server.

Создание списка на основе электронной таблицы

В приложении Списки Microsoft 365 выберите +Новый список или на домашней странице сайта выберите + > список.

В Microsoft Teams на вкладке Файлы в верхней части канала выберите Дополнительные > Открыть в SharePoint, а затем выберите Новый список > .

Создание списка из таблицы

На странице Создание списка выберите Из Excel.

Создание списка из таблицы

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

Upload из Excel файла

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

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

Введите имя списка.

Создание списка

(Необязательно) Чтобы отобразить список на странице «Содержимое», проверьте отображение списка на сайте.

Нажмите кнопку Создать.

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

Для создания списка можно использовать таблицы с до 20 000 строк.

Создание списка на основе таблицы в SharePoint 2016 и 2013

На сайте, на который вы хотите добавить список на основе электронных таблиц, выберите Параметры Кнопка "Параметры Office 365" , а затем выберите Добавить приложение.

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

На странице результатов поиска выберите импортировать таблицу.

На странице Новое приложение введите имя списка.

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

Введите необязательное описание.

Описание в большинстве представлений отображается под именем. Описание списка можно изменить в его параметрах.

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

Таблица откроется в Excel, и откроется окно Импорт Windows SharePoint служб.

В окне Импорт Windows SharePoint Services выберитеДиапазон таблицы,Диапазон ячеекили Именованый диапазон. Если вы хотите выбрать диапазон вручную, выберите Диапазон ячеек ,а затем выберите Выбрать диапазон. В левой верхней ячейке таблицы, удерживая на SHIFT и выберите правую нижнюю ячейку диапазона.

Электронная таблица Excel с выделенным диапазоном

Диапазон появится в поле Выбор диапазона. Нажмите кнопку Импорт.

Диалоговое окно импорта в электронную таблицу с выделенной кнопкой "Импорт"

После импорта электронной таблицы проверьте столбцы списка, чтобы убедиться, что данные были импортированы правильно. Например, может потребоваться указать, что столбец содержит денежные значения, а не числа. Чтобы просмотреть или изменить параметры списка, откройте его, откройте вкладку Список или Параметры Кнопка "Параметры Office 365" и выберите Параметры .

Данные в электронных таблицах по- SharePoint.

Важно: Не забудьте импортировать электронные таблицы с помощью 32-Microsoft Edge веб-браузера, так как при импорте электронных таблиц используется ActiveX фильтрация. После импорта таблицы вы сможете работать со списком в любом браузере, SharePoint поддерживается.

Создание списка на основе таблицы в SharePoint 2010

Выберите Действия сайта Меню , выберите Просмотреть веськонтент сайта , а затем выберите Создать Кнопка .

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

В SharePoint 2010 в области Все категории выберитеПустые & пользовательские ,выберите Импорт таблицы изатем выберите Создать.

В SharePoint 2007 г.в списке Настраиваемые списки выберите импортировать таблицу ,а затем выберите Создать.

Введите имя списка. Поле Имя является обязательным.

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

Введите описание списка. Поле Описание является необязательным.

Описание в большинстве представлений отображается под именем. Описание списка можно изменять.

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

В диалоговом Windows SharePoint Services Импорт в список выберите тип диапазона ,а затем в списке Выбор диапазона укажитедиапазон в листе, который вы хотите использовать для создания списка.

Импорт в список SharePoint

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

Нажмите кнопку Импорт.

Импортированный список

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

Важно: Не забудьте импортировать электронные таблицы с помощью 32-Microsoft Edge веб-браузера, так как при импорте электронных таблиц используется ActiveX фильтрация. После импорта таблицы вы сможете работать со списком в любом браузере, SharePoint поддерживается.

Типы столбцов, которые создаются для списка, основаны на типах данных в столбцах электронной таблицы. Например, столбец электронной таблицы, содержащий даты, обычно становится столбцом дат в списке SharePoint.

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

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

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

Оставьте комментарий

Была ли эта статья полезной? Если да, укажите это внизу страницы. В противном случае поделитесь своим мнением — что нужно добавить или сделать понятнее. Укажите свои версию SharePoint, ОС и браузер. С учетом вашего отзыва мы перепроверим сведения и, если нужно, допишем и обновим эту статью.

Как в Excel сделать выпадающий список

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

Простой выпадающий список

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

Несколькими щелчками мышки возможно быстро создать список в Excel. Для этого:

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

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

  1. Выделить область, куда вставить перечень. На верхней панели перейти во вкладку «Данные», далее – «Проверка данных».

  1. В новом окне найти параметр «Тип данных». Выбрать пункт «Список».

  1. Теперь указать «Источник». Кликнуть левой кнопкой мышки по полю, вписать знак «=» без кавычек и название из п.2. В качестве источника могут указываться столбцы из других листов рабочей книги. Нажать на «Ок».

Также можно сразу добавлять специальные сообщения для удобства работы с информацией:

  1. Повторить действия из п.3. В открывшемся окне перейти на вкладку «Сообщение для ввода».

  1. Ввести заголовок и непосредственно сообщение – некая подсказка для пользователя.

Связанный выпадающий список

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

  1. Подготовить таблицу. В первой строке каждого столбца должна быть категория меню (для удобства).

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

  1. На отдельной области создать раскрывающийся список через пункт меню «Данные» — «Проверка данных». Источник – первая ячейка каждого столбца.

  1. Далее перейти на формирование перечисления блюд одной из категорий. В этом поможет функция ДВССЫЛ (на англ. INDIRECT), которая преобразовывает текст в обычную экселевскую ссылку и источник данных для него. Нужно выбрать категорию, повторно открыть «Проверку данных» и написать функцию =ДВССЫЛ(H2).

При выборе другого элемента в H2 автоматически изменяется и ссылка-источник для H3. То есть источник для связанного выпадающего перечня в H3 меняется с учетом данных, которые были выбраны в H2.

Пробелы в названии при создании связанного выпадающего списка

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

Именуя диапазон значений, важно использовать вместо пробела нижнее подчеркивание «_». Например, «Мясные_блюда». Однако есть вероятность упустить данное правило в одном из названий, и в результате будет ошибка при выполнении операции. Можно в самих названиях использовать обычный пробел, а в момент подстановки в список, поменять его на подчеркивание, используя формулу ПОДСТАВИТЬ:

=ПОДСТАВИТЬ(F3;» «;»_») без кавычек.

Итоговая формула выглядит так:

=ДВССЫЛ(ПОДСТАВИТЬ($F$3;» «;»_»)) без кавычек.

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

=ДВССЫЛ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($F$3);» «;»_»)) без кавычек.

Список с автозаполнением

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

Способ 1

Кликнуть по сторонней ячейке. Перейти во вкладку «Данные» – «Проверка данных». В «Типе данных» выбрать пункт «Список». В поле «Источник» выделить необходимое количество ячеек, но с запасом (можно и весь столбец, формула при этом будет =$A:$A).

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

Способ 2

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

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

  1. Щелкнуть по сторонней ячейке. Зайти в «Данные» – «Проверка данных». В качестве источника указать присвоенное таблице имя из п.1 через знак «=».

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

Способ 3

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

  1. Выделить содержание, во вкладке «Главная» выбрать «Форматировать как таблицу». В появившемся окне обязательно поставить галочку рядом с пунктом «Таблица с заголовками».

  1. Обозначить готовую таблицу как источник, вписать формулу =ДВССЫЛ(«Таблица1[Горячее]»), где таблица1 – автоматически присвоенное ей имя, [Горячее] – название столбца.

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

Как в Excel сделать выпадающий список в ячейке с выбором нескольких значений?

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

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

Чтобы добавить макрос, кликнуть правой кнопкой мыши по ярлыку листа с выпадающим перечнем и выбрать вариант «Исходный текст». Откроется Visual Basic, в окне редактора следует использовать код для горизонтального отображения:

В результате должно получиться следующее:

Для вертикального отображения можно воспользоваться кодом:

В результате получится так:

Для того чтобы элементы накапливались в той же самой ячейке, подойдет код:

 

Dollinsky

Пользователь

Сообщений: 24
Регистрация: 03.06.2014

Коллеги, прошу помощи:
Есть ли какой-то способ получить список умных таблиц, которые «живут» в книге (той же самой — ThisWorkbook)?
В идеале, чтобы такой список попадал на какой-то лист, специально отведенный для этого и столбцы списка показывали:
1) Наименование умной таблицы
2) Лист (имя), на котором  она размещена
3) Адрес диапазона умной таблицы

Спасибо!

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#2

11.08.2021 17:03:47

Код
For Each Sheet In Sheets
For Each LO In Sheet.ListObjects
With LO
    Debug.Print .Name, .Parent.Name, .Range.Address
End With
Next
Next

По вопросам из тем форума, личку не читаю.

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Dollinsky, цикл по всем листам книги (For Each sh in ActiveWorkBook), в нём цикл по всем умным таблицам (For Each LO in sh.ListObjects)
1. LO.Name
2. sh.Name
3. LO.Range.Address(0,0,xlA1)

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Dollinsky

Пользователь

Сообщений: 24
Регистрация: 03.06.2014

Спасибо! В Immediate попадает, а как на лист вывести? Скажем, Лист4 начиная со 2-й строки по столбцам B,C,D ?
Слаб в VBA :( Сорри

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#5

11.08.2021 17:38:52

Цитата
Dollinsky написал:
Слаб в VBA  Сорри

та же фигня + еще и лень  :D  

По вопросам из тем форума, личку не читаю.

 

Dollinsky

Пользователь

Сообщений: 24
Регистрация: 03.06.2014

Спасибо!
Не знал, какого типа переменной объявить LO и Sheet. Пришлось отключить Option Explicite, заработало. Если LO  объявлять как ListObject, то выдает ошибку. Если Object, то работает.
Спасибо еще раз!

Изменено: Dollinsky11.08.2021 18:47:55

 

sokol92

Пользователь

Сообщений: 4446
Регистрация: 10.09.2017

#7

11.08.2021 19:16:20

Цитата
Dollinsky написал:
Если LO  объявлять как ListObject, то выдает ошибку.

Не должно. Проверьте:

Код
Dim Sheet As Worksheet, LO As ListObject

Владимир

 

Dollinsky

Пользователь

Сообщений: 24
Регистрация: 03.06.2014

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#9

12.08.2021 09:51:08

Цитата
sokol92: Dim Sheet As Worksheet

Владимир, приветствую! Всё-таки я не сторонник подменять служебные имена своими, и потому переменную листа я бы назвал sh As WorkSheet или sh As Sheet

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#10

12.08.2021 10:57:44

Цитата
Jack Famous написал: и потому переменную листа я бы

и потом в объектной модели появился объект SH и ты такой «ой блин все переписывать».
то что не вредит — используй и не парься. Удобно SH ок, objSheet — тоже , да и Sheet не пострадает.

да и

Цитата
Jack Famous написал: Всё-таки я не сторонник подменять служебные имена своими,

что-то не то во фразе.  :D

По вопросам из тем форума, личку не читаю.

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#11

12.08.2021 11:25:07

Цитата
БМВ:в объектной модели появился объект SH и ты такой «ой блин все переписывать»

VBE Replace  :idea:
да и ты веришь-то сам, что в VBA что-то обновится?  :D

Цитата
БМВ: что-то не то во фразе

«своими» можно было не писать, но и так корректно

Изменено: Jack Famous12.08.2021 11:26:47

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#12

12.08.2021 12:18:32

Цитата
Jack Famous написал:
VBA что-то обновится

в нем нет, а вот в объектной модели может.

По вопросам из тем форума, личку не читаю.

 

sokol92

Пользователь

Сообщений: 4446
Регистрация: 10.09.2017

#13

12.08.2021 20:41:17

Цитата
Jack Famous написал:
Всё-таки я не сторонник подменять служебные имена своими

Я имена привел для #2.
Насколько я помню, идентификатор Sheet никак не задействован в VBA и его нет среди имен объектов.
Перекрытие имен вещь не рекомендуемая, но иногда полезная, как в

случае

с функцией VBA Msgbox, которая совсем не дружит с юникодом.

Изменено: sokol9212.08.2021 20:41:34

Владимир

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#14

13.08.2021 09:29:36

Цитата
sokol92: идентификатор Sheet никак не задействован в VBA

это тип переменной

Цитата
Jack Famous: sh As Sheet

Цитата
sokol92: Перекрытие имен вещь не рекомендуемая, но иногда полезная, как в  случае  с функцией VBA Msgbox

ну тут уже вкусовщина. Я, как разработчик, лучше вызову MyMsgBox с блэкджеком и прочим, чем буду вызывать MsgBox, с разным результатом в зависимости от того, есть подмена или нет  :)
Ну и всегда есть Replace, если нужно заменить функцию  ;)

Изменено: Jack Famous13.08.2021 09:31:01

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#15

13.08.2021 09:44:40

Off

Цитата
Jack Famous написал:
MyMsgBox

да ладно , вангую будет PRDXMsgBox  :D

По вопросам из тем форума, личку не читаю.

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#16

13.08.2021 09:47:43

Цитата
БМВ:PRDXMsgBox

почти: PRDX_MsgBox  :D
У меня в этом порядок — где код находится, оттуда и префикс, чтобы не путаться  :)

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Дмитрий(The_Prist) Щербаков

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#17

13.08.2021 12:55:01

Цитата
БМВ написал:
For Each Sheet In Sheets

в зависимости от ситуации может очень сильно подвести, выдав ошибку типов. Например, если в книгу будет вставлен лист типа Диаграмма, либо Лист макросов, Диалоговых окон…У этих листов нет таких объектов, как таблицы и в них они не могут быть вставлены.
Поэтому правильнее будет делать цикл исключительно по Worksheets, т.к. только в них могут быть вставлены умные таблицы:

Код
For Each Sheet In WorkSheets
Цитата
Jack Famous написал:
не сторонник подменять служебные имена своими

а нет служебного Sheet. Поэтому можно и попользовать :)

Цитата
Jack Famous написал:
это тип переменной

нет такого типа. Есть коллекция Sheets, которая подразделяется на 5 других типов:

  • Рабочие листы
  • Листы диаграмм
  • Листы макросов 4.0
  • Листы международных макросов
  • Листы диалогов

Есть Worksheets, которая содержит только рабочие листы. И есть Worksheet — это как раз тип. А типа Sheet нет и не было. И скорее всего не будет, т.к. не может быть просто типа Sheet, т.к. его нельзя будет отнести к конкретному типу листов, а MS любит конкретику в этом плане :)

Изменено: Дмитрий(The_Prist) Щербаков13.08.2021 12:55:27

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#18

13.08.2021 13:04:25

Цитата
Дмитрий(The_Prist) Щербаков: нет служебного Sheet

проверил, действительно нет, спасибо тебе и Мише с Соколом  :)
Наверное по аналогии Worksheet(s) = Sheet(s) подумал, т.к. коллекция Sheets есть  :sceptic:

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#19

13.08.2021 17:36:57

Цитата
Дмитрий(The_Prist) Щербаков написал:
правильнее будет делать цикл исключительно по Worksheets,

да, согласен. Редко такое бывает но ради универсальности лучше так.

По вопросам из тем форума, личку не читаю.

Содержание

  • 1 Создаем простой выпадающий список
  • 2 Добавляем значения в выпадающий список – динамический список
  • 3 Выпадающий список со значениями с другого листа
  • 4 Создаем зависимые выпадающие списки
  • 5 Способ 1 — горячие клавиши и раскрывающийся список в excel
  • 6 Способ 2 — самый удобный, простой и наиболее гибкий
  • 7 Способ 3 — как в excel сделать выпадающий список с использованием ActiveX

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

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

Создаем простой выпадающий список

Для этого, в ячейки А1:А7 вписываем данные, которые будут отображаться в списке. Теперь выделим ячейку, в которой создадим выпадающий список – В2.

Переходим на вкладку «Данные» и кликаем по кнопочке «Проверка данных».

как сделать таблицу список в excel

На вкладке «Параметры» в поле «Тип данных» выбираем «Список». В поле «Источник» можно ввести значения различными способами:

1 – вводим значения для списка вручную, через точку с запятой;

как сделать таблицу список в excel

2 – указываем диапазон ячеек, в которые введены данные для выпадающего списка;

как сделать таблицу список в excel

3 – выделяем ячейки с именами, кликаем по ним правой кнопкой мыши и выбираем из меню «Присвоить имя».

как сделать таблицу список в excel

Дальше впишите «Имя» для выделенных данных.

как сделать таблицу список в excel

Выделяем ячейку В2 и в поле «Источник» ставим «=», затем пишем созданное имя.

как сделать таблицу список в excel

Таким образом, мы создали простой выпадающий список в Excel.

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

как сделать таблицу список в excel

Добавляем значения в выпадающий список – динамический список

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

Выделяем диапазон ячеек – D1:D8, затем на вкладке «Главная» нажимаем «Форматировать как таблицу» и выбираем любой стиль.

как сделать таблицу список в excel

Подтверждаем расположение данных и ставим галочку в поле «Таблица с заголовками».

Вверху пишем заголовок таблицы – «Сотрудники», и заполняем ее данными.

Выделяем ячейку, в которой будет выпадающий список и кликаем по кнопочке «Проверка данных». В следующем окне, в поле «Источник», пишем следующее: =ДВССЫЛ(«Таблица1»). У меня одна таблица на листе, поэтому пишу «Таблица1», если будет вторая – «Таблица2», и так далее.

как сделать таблицу список в excel

Теперь добавим новое имя сотрудника в наш список: Ира. В выпадающем списке оно появилось. Если мы удалим любое имя из таблицы, из списка оно тоже удалится.

как сделать таблицу список в excel

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

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

На Листе 2, выделяем одну ячейку или диапазон ячеек, затем кликаем по кнопочке «Проверка данных».

как сделать таблицу список в excel

Переходим на Лист 1, ставим курсор в поле «Источник» и выделяем нужный диапазон ячеек.

как сделать таблицу список в excel

Теперь можно дописывать имена на Листе 1, они будут добавляться в выпадающие списки на Листе 2.

Создаем зависимые выпадающие списки

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

как сделать таблицу список в excel

Первый называем «Имя», второй – «Фамилия», третий – «Отч».

как сделать таблицу список в excel

Сделаем еще один диапазон, в котором будут прописаны присвоенные имена. Назовем его «Сотрудники».

как сделать таблицу список в excel

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

В поле «Тип данных» выберите «Список», в поле источник – или введите «=Сотрудники», или выделите диапазон ячеек, которому присвоено имя.

Первый выпадающий список создан. Теперь в ячейке F2 создадим второй список, который должен зависеть от первого. Если в первом выберем «Имя», во втором отобразится список имен, если выберем «Фамилия» – список фамилий.

Выделяем ячейку и кликаем по кнопочке «Проверка данных». В поле «Тип данных» выбираем «Список», в поле источник прописываем следующее: =ДВССЫЛ($Е$1). Здесь Е1 – это ячейка с первым выпадающим списком.

По такому принципу можно делать зависимые выпадающие списки.

Если в дальнейшем, нужно будет вписать значения в диапазон, которому задано имя, например, «Фамилия». Перейдите на вкладку «Формулы» и кликните «Диспетчер имен». Теперь в имени диапазона выбираем «Фамилия», и внизу, вместо последней ячейки С3, напишите С10. Нажмите галочку. После этого диапазон увеличится, и в него можно будет дописывать данные, которые автоматически будут появляться в выпадающем списке.

Теперь Вы знаете, как сделать раскрывающийся список в Excel.

Поделитесь статьёй с друзьями:

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

Спасибо, всё получилось.

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

Автору спасибо за хорошую статью! Как оказалось, есть масса возможностей их создания!

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

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

Кликните по кнопке ниже для загрузки файла с примерами выпадающих списков в Excel:

Видео-урок Как создать выпадающий список в Экселе на основе данных из перечня

Представим, что у нас есть перечень фруктов:

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

  • Выбрать ячейку, в которой мы хотим создать выпадающий список;
  • Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбираем пункт “Проверка данных“.
  • Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“:
  • В поле “Источник” ввести диапазон названий фруктов =$A$2:$A$6 или просто поставить курсор мыши в поле ввода значений “Источник” и затем мышкой выбрать диапазон данных:

Если вы хотите создать выпадающие списки в нескольких ячейках за раз, то выберите все ячейки, в которых вы хотите их создать, а затем выполните указанные выше действия. Важно убедиться, что ссылки на ячейки являются абсолютными (например, $A$2), а не относительными (например, A2 или A$2 или $A2).

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

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

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

  • Выбрать ячейку, в которой мы хотим создать выпадающий список;
  • Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбрать пункт “Проверка данных“:
  • Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“:
  • В поле “Источник” ввести значение “Да; Нет”.
  • Нажимаем “ОК

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

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

Как создать раскрывающийся список в Эксель с помощью функции СМЕЩ

Наряду со способами описанными выше, вы также можете использовать формулу СМЕЩ для создания выпадающих списков.

Например, у нас есть список с перечнем фруктов:

Для того чтобы сделать выпадающий список с помощью формулы СМЕЩ необходимо сделать следующее:

  • Выбрать ячейку, в которой мы хотим создать выпадающий список;
  • Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбрать пункт “Проверка данных“:
  • Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“:
  • В поле “Источник” ввести формулу: =СМЕЩ(A$2$;0;0;5)
  • Нажать “ОК

Система создаст выпадающий список с перечнем фруктов.

Как эта формула работает?

На примере выше мы использовали формулу =СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;;).

Эта функция содержит в себе пять аргументов. В аргументе “ссылка” (в примере $A$2) указывается с какой ячейки начинать смещение. В аргументах “смещ_по_строкам” и “смещ_по_столбцам” (в примере указано значение “0”) – на какое количество строк/столбцов нужно смещаться для отображения данных. В аргументе “” указано значение “5”, которое обозначает высоту диапазона ячеек. Аргумент “” мы не указываем, так как в нашем примере диапазон состоит из одной колонки.

Используя эту формулу, система возвращает вам в качестве данных для выпадающего списка диапазон ячеек, начинающийся с ячейки $A$2, состоящий из 5 ячеек.

Как сделать выпадающий список в Excel с подстановкой данных (с использованием функции СМЕЩ)

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

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

  • Выбрать ячейку, в которой мы хотим создать выпадающий список;
  • Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбрать пункт “Проверка данных“;
  • Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“;
  • В поле “Источник” ввести формулу: =СМЕЩ(A$2$;0;0;СЧЕТЕСЛИ($A$2:$A$100;””))
  • Нажать “ОК

В этой формуле, в аргументе “” мы указываем в качестве аргумента, обозначающего высоту списка с данными –  формулу СЧЕТЕСЛИ, которая рассчитывает в заданном диапазоне A2:A100 количество не пустых ячеек.

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

Как создать выпадающий список в Excel с автоматической подстановкой данных

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

  • Создаем список данных для отображения в выпадающем списке. В нашем случае это список цветов. Выделяем перечень левой кнопкой мыши:
  • На панели инструментов нажимаем пункт “Форматировать как таблицу“:
  • Из раскрывающегося меню выбираем стиль оформления таблицы:
  •  Нажав клавишу “ОК” во всплывающем окне, подтверждаем выбранный диапазон ячеек:
  • Затем, выделим диапазон данных таблицы для выпадающего списка и присвоим ему имя в левом поле над столбцом “А”:

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

  • Выбрать ячейку, в которой мы хотим создать список;
  • Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбрать пункт “Проверка данных“:
  • Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“:
  • В поле источник указываем =”название вашей таблицы”. В нашем случае мы ее назвали “Список“:
  • Готово! Выпадающий список создан, в нем отображаются все данные из указанной таблицы:
  • Для того чтобы добавить новое значение в выпадающий список – просто добавьте в следующую после таблицы с данными ячейку информацию:
  • Таблица автоматически расширит свой диапазон данных. Выпадающий список соответственно пополнится новым значением из таблицы:

Как скопировать выпадающий список в Excel

В Excel есть возможность копировать созданные выпадающие списки. Например, в ячейке А1 у нас есть выпадающий список, который мы хотим скопировать в диапазон ячеек А2:А6.

Для того чтобы скопировать выпадающий список с текущим форматированием:

  • нажмите левой клавишей мыши на ячейку с выпадающим списком, которую вы хотите скопировать;
  • нажмите сочетание клавиш на клавиатуре CTRL+C;
  • выделите ячейки в диапазоне А2:А6, в которые вы хотите вставить выпадающий список;
  • нажмите сочетание клавиш на клавиатуре CTRL+V.

Так, вы скопируете выпадающий список, сохранив исходный формат списка (цвет, шрифт и.т.д). Если вы хотите скопировать/вставить выпадающий список без сохранения формата, то:

  • нажмите левой клавишей мыши на ячейку с выпадающим списком, который вы хотите скопировать;
  • нажмите сочетание клавиш на клавиатуре CTRL+C;
  • выберите ячейку, в которую вы хотите вставить выпадающий список;
  • нажмите правую кнопку мыши => вызовите выпадающее меню и нажмите “Специальная вставка“;
  • В появившемся окне в разделе “Вставить” выберите пункт “условия на значения“:
  • Нажмите “ОК

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

Как выделить все ячейки, содержащие выпадающий список в Экселе

Иногда, сложно понять, какое количество ячеек в файле Excel содержат выпадающие списки. Есть простой способ отобразить их. Для этого:

  • Нажмите на вкладку “Главная” на Панели инструментов;
  • Нажмите “Найти и выделить” и выберите пункт “Выделить группу ячеек“:
  • В диалоговом окне выберите пункт “Проверка данных“. В этом поле есть возможность выбрать пункты “Всех” и “Этих же“. “Всех” позволит выделить все выпадающие списки на листе. Пункт “этих же” покажет выпадающие списки схожие по содержанию данных в выпадающем меню. В нашем случае мы выбираем “всех“:
  • Нажмите “ОК

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

Как сделать зависимые выпадающие списки в Excel

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

Предположим, что у нас есть списки городов двух стран Россия и США:

Для создания зависимого выпадающего списка нам потребуется:

  • Создать два именованных диапазона для ячеек “A2:A5” с именем “Россия” и для ячеек “B2:B5” с названием “США”. Для этого нам нужно выделить весь диапазон данных для выпадающих списков:
  • Перейти на вкладку “Формулы” => кликнуть в разделе “Определенные имена” на пункт “Создать из выделенного“:
  • Во всплывающем окне “Создание имен из выделенного диапазона” поставьте галочку в пункт “в строке выше“. Сделав это, Excel создаст два именованных диапазона “Россия” и “США” со списками городов:
  • Нажмите “ОК
  • В ячейке “D2” создайте выпадающий список для выбора стран “Россия” или “США”. Так, мы создадим первый выпадающий список, в котором пользователь сможет выбрать одну из двух стран.

Теперь, для создания зависимого выпадающего списка:

  • Выделите ячейку E2 (или любую другую ячейку, в которой вы хотите сделать зависимый выпадающий список);
  • Кликните по вкладке “Данные” => “Проверка данных”;
  • Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выберите “Список“:
  • В разделе “Источник” укажите ссылку: =INDIRECT($D$2) или =ДВССЫЛ($D$2);
  • Нажмите “ОК

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

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

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

Этот же пункт меню можно запустить сочетанием клавиш Alt+»Стрелка вниз» и программа автоматически предложит в выпадающем списке значения ячеек, которые вы ранее заполняли данными. На изображении ниже программа предложила 4 варианта заполнения (дублирующиеся данные Excel не показывает). Единственное условие работы данного инструмента — это между ячейкой, в которую вы вводите данные из списка и самим списком не должно быть пустых ячеек.

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

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

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

Способ 2 — самый удобный, простой и наиболее гибкий

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

  1. Сперва необходимо создать список данных, который будет  источником данных для подстановки в выпадающий список в excel. Выделите данные и нажмите правой кнопкой мыши. В выпадающем списке выберите пункт «Присвоить имя…».

    Создание набора данных для списка

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

    Введите имя для набора данных

  3. Выделите ячейки (можно сразу несколько ячеек), в которых планируется создать выпадающий список. Во вкладке «ДАННЫЕ» вверху документа нажмите на «Проверка данных».

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

  4. В окне проверка вводимых значение в качестве типа данных задайте «Список». В строке «Источник:» введите знак равно и имя для ранее созданного списка. Данная формула позволит ввести значения только из списка, т.е. произведет проверку введенного значения и предложит варианты. Эти варианты и будут выпадающим списком.

Для создания проверки вводимых значений введите имя ранее созданного списка

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

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

А при нажатии на кнопку выпадающего списка в ячейке вы увидите перечень значений из созданного ранее.

Способ 3 — как в excel сделать выпадающий список с использованием ActiveX

Чтобы воспользоваться этим способом, необходимо чтобы у вас была включена вкладка «РАЗРАБОТЧИК». По умолчанию эта вкладка отсутствует. Чтобы ее включить:

  1. Нажмите на «Файл» в левом верхнем углу приложения.
  2. Выберите пункт «Параметры» и нажмите на него.
  3. В окне настройки параметров Excel во вкладке «Настроить ленту» поставьте галочку напротив вкладки «Разработчик».

Включение вкладки «РАЗРАБОТЧИК»

Теперь вы сможете воспользоваться инструментом «Поле со списком (Элемент ActiveX)». Во вкладке «РАЗРАБОТЧИК» нажмите на кнопку «Вставить» и найдите в элементах ActiveX кнопку «Поле со списком (Элемент ActiveX)». Нажмите на нее.

Нарисуйте данный объект в excel выпадающий список в ячейке, где вам необходим выпадающий список.

Теперь необходимо настроить данный элемент. Чтобы это сделать, необходимо включить «Режим конструктора» и нажать на кнопку «Свойства». У вас должно открыться окно свойств (Properties).

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

Но нас на этапе создания интересуют только три основных:

  1. ListFillRange — указывает диапазон ячеек, из которых будут браться значения для выпадающего списка. В моем примере я указал два столбца (A2:B7 — дальше покажу как это использовать). Если необходимо только одни значения указывается A2:A7.
  2. ListRows — количество данных в выпадающем списке. Элемент ActiveX отличается от первого способа тем, что можно указать большое количество данных.
  3. ColumnCount — указывает сколько столбцов данных указывать в выпадающем списке.

В строке ColumnCount я указал значение 2 и теперь в списке выпадающие данные выглядят вот так:

Как видите получился выпадающий список в excel с подстановкой данных из второго столбца с данными «Поставщик».

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

Список всех имен таблиц в поле имени
Список всех имен таблиц на панели формул
Список всех имен таблиц с кодом VBA


Список всех имен таблиц в поле имени

Все имена таблиц по умолчанию перечислены в поле имени.

Щелкните стрелку раскрывающегося списка в верхнем левом углу Имя Box для отображения всех имен таблиц. Смотрите скриншот:

Внимание: Все ранжированные имена также перечислены в поле имени вместе со всеми именами таблиц.


Список всех имен таблиц на панели формул

Если все таблицы были названы по исходному имени таблицы, например Table1, Table2…, вы можете попробовать перечислить все эти имена таблиц в строке формул.

1. Введите формулу =ROW(T в панель формул, тогда все имена таблиц перечислены в поле списка, как показано ниже.

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


Список всех имен таблиц с кодом VBA

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

1. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте ниже код VBA в окно модуля.

Код VBA: список всех имен таблиц в Excel.

Sub ListTables()
'Updated by Extendoffice 20180503
    Dim xTable As ListObject
    Dim xSheet As Worksheet
    Dim I As Long
    I = -1
    Sheets.Add.Name = "Table Name"
    For Each xSheet In Worksheets
        For Each xTable In xSheet.ListObjects
            I = I + 1
            Sheets("Table Name").Range("A1").Offset(I).Value = xTable.Name
        Next xTable
    Next
End Sub

3. нажмите F5 или нажмите кнопку «Выполнить», чтобы запустить код.

Затем создается новый рабочий лист с именем «Имя таблицы» со всеми именами таблиц, перечисленными, как показано ниже:


Статьи по теме:

  • Как отобразить имя таблицы или сводной таблицы в ячейке в Excel?
  • Как сохранить расширяемость таблицы, вставив строку таблицы в защищенный лист в Excel?
  • Как изменить порядок столбцов в таблице в Excel?
  • Как скрыть строки с нулевым значением в сводной таблице?

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (2)


Оценок пока нет. Оцените первым!

Понравилась статья? Поделить с друзьями:
  • Список содержимого папки в excel
  • Список событий excel vba
  • Список сносок в microsoft word
  • Список случайных чисел в excel
  • Список синонимов в excel