Note: The other languages of the website are Google-translated. Back to English

 Як створити випадаючий список, але відображати різні значення в Excel?

На аркуші Excel ми можемо швидко створити випадаючий список за допомогою функції перевірки даних, але чи намагались ви коли-небудь показувати інше значення, натискаючи випадаючий список? Наприклад, у мене є такі дані двох стовпців у стовпці A та стовпці B, тепер мені потрібно створити випадаючий список зі значеннями у стовпці Ім'я, але, коли я вибираю ім'я зі створеного випадаючого списку, відповідний значення у стовпці Число відображається, як показано на наступному скріншоті. Ця стаття представить деталі для вирішення цього завдання.

doc випадаючі різні значення 1

Створити випадаючий список, але показати інше значення в комірці спадного списку


Створити випадаючий список, але показати інше значення в комірці спадного списку

Щоб закінчити це завдання, виконайте наступні кроки за кроком:

1. Створіть ім’я діапазону для значень комірок, які ви хочете використовувати, у випадаючому списку; у цьому прикладі я введу розкривний список імен у Ім'я Box, а потім натисніть вводити ключ, див. знімок екрана:

doc випадаючі різні значення 2

2. Потім виділіть комірки, куди потрібно вставити випадаючий список, і натисніть дані > Перевірка достовірності даних > Перевірка достовірності даних, див. скріншот:

doc випадаючі різні значення 3

3, в Перевірка достовірності даних у діалоговому вікні під настройки вкладку, виберіть список від дозволяти , а потім клацніть doc випадаючі різні значення 5 , щоб вибрати список імен, який ви хочете використовувати як випадаючі значення в джерело текстове вікно. Дивіться знімок екрана:

doc випадаючі різні значення 4

4. Після вставки випадаючого списку клацніть правою кнопкою миші активну вкладку аркуша та виберіть Переглянути код з контекстного меню та у відкритому вікні Microsoft Visual Basic для програм вікно, скопіюйте та вставте наступний код у порожній модуль:

Код VBA: Відобразити інше значення зі спадного списку:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    selectedNa = Target.Value
    If Target.Column = 5 Then
        selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown"), 2, False)
        If Not IsError(selectedNum) Then
            Target.Value = selectedNum
        End If
    End If
End Sub

doc випадаючі різні значення 6

примітки: У наведеному вище коді номер 5 в Якщо Target.Column = 5 Тоді script - це номер стовпця, який знаходиться у вашому випадаючому списку,випадає" у цьому selectedNum = Application.VLookup (selectedNa, ActiveSheet.Range ("випадаючий список"), 2, False) код - це назва діапазону, яку ви створили на кроці 1. Ви можете змінити їх на потрібні.

5. Потім збережіть і закрийте цей код, тепер, коли ви вибираєте елемент зі спадного списку, у тій самій комірці відображається відносно інше значення, див. Знімок екрана:

doc випадаючі різні значення 7


Демонстрація: Створіть випадаючий список, але відображайте різні значення в Excel

Kutools для Excel: з більш ніж 300 зручними надбудовами Excel, спробуйте безкоштовно без обмежень протягом 30 днів. Завантажте та безкоштовно пробну версію зараз!

 


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці

 

Коментарі (40)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Чи можна це зробити на різних аркушах? Я маю на увазі, на аркуші 1 спадне меню, а на аркуші 2 — діапазон. Як я маю це кодувати? Заздалегідь спасибі. Тіна.
Цей коментар був мінімізований модератором на сайті
Що робити, якщо я хочу зробити кілька спадних меню, які повертають різні значення на одному аркуші? Чи можете ви показати мені приклад кодування для двох або більше?
Цей коментар був мінімізований модератором на сайті
Лі Енн

Якщо ви просто скопіюєте та вставите код із If в EndIf і зміните стовпець # і таблицю, це повинно працювати:


Sub Worksheet_Change(ByVal Target As Range)
selectedNa = Цільове значення
Якщо Target.Column = 5 Тоді
selectedNum = Application.VLookup (selectedNa, ActiveSheet.Range ("випадаючий список"), 2, False)
Якщо не IsError(selectedNum), то
Target.Value = selectedNum
End If
End If
Якщо Target.Column = 9 Тоді
selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown1"), 2, False)
Якщо не IsError(selectedNum), то
Target.Value = selectedNum
End If
End If
End Sub

Я не кажу, що це правильний спосіб, але він працював у моїй тестовій версії. Я використовую Excel 2013
Цей коментар був мінімізований модератором на сайті
Щойно спробував. І це спрацювало!! Дякую.
Цей коментар був мінімізований модератором на сайті
Привіт, допоможіть, це не працює, чи можете ви вставити сюди весь код для 2 стовпців?
Цей коментар був мінімізований модератором на сайті
Немає нічого більш засмученого, ніж ввести детальне запитання, щоб воно здуло. Якщо ви введете неправильний 6-значний код, щоб підтвердити свою людину, опубліковане повідомлення видалиться. Можливо, захочеться це виправити. Тепер мій коментар такий: я намагався зробити те саме, що ви показали у відео та письмових інструкціях, і все, що я отримую, це коли вибираю ім’я у списку, це ім’я, а не номер. Крім того, як це взагалі працює, оскільки перевірка даних має обмежувати вибір лише тим, що є у списку. Як це обманює систему? Раніше мені завжди доводилося призначати код vba кнопці або ярлику, як цей код активується? Як ви тестуєте, щоб переконатися, що він працює?
Цей коментар був мінімізований модератором на сайті
Як працює формула, коли потрібно додати дані на окремому аркуші робочої книги? Я хочу приховати дані.
Цей коментар був мінімізований модератором на сайті
Змінюйся тут, брате!
selectedNum = Application.VLookup(selectedNa, Worksheets("YourSheetName").Діапазон("розкривне меню"), 2, False)
Цей коментар був мінімізований модератором на сайті
"YourSheetName" посилається на аркуш, який містить діапазон даних, або на аркуш, де я хочу використовувати список, що випадає?
Цей коментар був мінімізований модератором на сайті
Як працює формула, якщо ви хочете перерахувати дані на окремому аркуші/вкладці в книзі?
Цей коментар був мінімізований модератором на сайті
це не працює в поточних версіях excel- застарілих. Потім список перевірок даних більше не відображається у vba, оскільки об’єкт Excel вже пробував кілька разів, і він не відображається.
Цей коментар був мінімізований модератором на сайті
У цьому прикладі, що робити, якщо ви хочете, щоб воно переглядало значення в кожній із клітинок у 5, але поміщало значення в сусідній клітинці в 6
Цей коментар був мінімізований модератором на сайті
Як потрібно змінити код, якщо я хочу створити посилання/посилання в E1 на джерело розкривного списку на основі вибраного значення?
Перевага полягала б у тому, що у разі зміни джерела, що випадає (наприклад, "Henrik" => "Hendrik", зміна автоматично відображатиметься в E1.
Цей коментар був мінімізований модератором на сайті
Хтось знає, як змусити це працювати в таблицях Google?
Цей коментар був мінімізований модератором на сайті
Я хочу вибрати кілька варіантів зі спадного списку.
результат такий: AA1001,BB1002
Це можливо?
Цей коментар був мінімізований модератором на сайті
Ви знайшли рішення?
Цей коментар був мінімізований модератором на сайті
Si los datos de la lista están en otra hoja, cuál sería el código? Граціас.
Цей коментар був мінімізований модератором на сайті
cómo buscar un valor hacia la izquierda
Цей коментар був мінімізований модератором на сайті
Приватний допоміжний робочий лист_Change(ByVal Target As Range)
selectedNa = Цільове значення
Якщо Target.Column = 5 Тоді

Sheets("Nombre de la hoja en donde esta la lista"). Активувати
selectedNum = Application.VLookup (selectedNa, ActiveSheet.Range ("випадаючий список"), 2, False)
Sheets("Nombre de la hoja en donde estas trabajando").Активувати
Якщо не IsError(selectedNum), то
Target.Value = selectedNum
End If
End If
End Sub
Цей коментар був мінімізований модератором на сайті
Хтось знає, як шукати значення справа наліво
Цей коментар був мінімізований модератором на сайті
Мені потрібно використовувати те саме спадне меню в кількох стовпцях. Яким буде код?
Цей коментар був мінімізований модератором на сайті
Привіт!
Це дійсно корисно! Дякую!
Я працюю в ситуації, коли клітинка не оновлюється автоматично або під час використання функції оновлення. Мені потрібно клацнути в іншій клітинці, а потім клацнути назад на клітинку в роботі, щоб вона відобразила значення.
Зараз я працюю з Office Standard 2019. Хтось знає, чи пов’язана ця проблема з версією Excel, яку я використовую?
Цей коментар був мінімізований модератором на сайті
привіт,
Код працював нормально, якщо ми визначаємо список і створюємо спадне меню на тому ж аркуші.
Але як ми можемо досягти визначення списку значень і кодів на одному аркуші та розкривного меню, створеного на іншому аркуші?
Цей самий код не працює, оскільки відображається, і помилка в цьому рядку ("selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown"), 2, False)").
Крім того, у мене є вимога, наприклад, якщо я маю кілька списків, визначених на одному аркуші з ідентифікатором та іменами, і кілька спадних списків на іншому аркуші, де одне спадне значення залежить від вибраного значення в іншому спадному меню.

Сподіваюся, ви зрозуміли мій запит.

Допоможіть мені у вирішенні цього питання.
Цей коментар був мінімізований модератором на сайті
Це мені надзвичайно допомогло, дякую. Оскільки моя таблиця була на іншому аркуші, ніж моє поле зі списком, я додав пару рядків коду, щоб зробити це, а також щоб екран не блимав.

Application.ScreenUpdating = Невірний
Sheets("SheetWithTableOnIt"). Активувати

Sheets("SheetWithDropDownListOnIt").Активувати
Application.ScreenUpdating = True
Цей коментар був мінімізований модератором на сайті
куди саме ви додали ці коди?
Цей коментар був мінімізований модератором на сайті
Я отримую помилку компіляції: синтаксичну помилку в рядку "Якщо Trarget.Column = 6 Тоді", коли я намагаюся використати код? Будь-яка ідея, чому?
Цей коментар був мінімізований модератором на сайті
Він працює, але коли ви виходите з файлу та відкриваєте його знову, він не працює... його не можна зберегти як .xls лише як .xlsm чи є якесь рішення для цього? Спасибі
Цей коментар був мінімізований модератором на сайті
Привіт, Марко! Після копіювання та вставлення коду у свою робочу книгу, коли ви зберігаєте файл, ви повинні зберегти його у форматі книги Excel з підтримкою макросів, будь ласка, спробуйте, дякую!
There are no comments posted here yet
Load More
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця