Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Отобразить данные в списке выбранные в другом списке… - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отобразить данные в списке выбранные в другом списке… (Макросы/Sub)
Отобразить данные в списке выбранные в другом списке…
Сергей13 Дата: Среда, 20.02.2019, 19:26 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте.
Ребята есть два выпадающих списка, например, в ячейке A1 и A2.
При выборе значения из списка А1 yнеобходимо отобразить данное значение в списке А2, при условии, если данное значение есть в списке A2, если нет такого значения, то не отображать.
Использую данный код
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) 'При выборе данных в списке A1

    If Range("A1") <> Range("A2") Then 'Если данные A1 не совпадают с A2
        Range("A2") = Range("A1") 'То в А2 отобразить те данные которые совпадают со списком А1 и выбраны в списке А1
    Else
    End If

End Sub
[/vba]
но он отображает в списке А2 все подряд что выбрано в A1.


Сообщение отредактировал Сергей13 - Среда, 20.02.2019, 19:54
 
Ответить
СообщениеЗдравствуйте.
Ребята есть два выпадающих списка, например, в ячейке A1 и A2.
При выборе значения из списка А1 yнеобходимо отобразить данное значение в списке А2, при условии, если данное значение есть в списке A2, если нет такого значения, то не отображать.
Использую данный код
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) 'При выборе данных в списке A1

    If Range("A1") <> Range("A2") Then 'Если данные A1 не совпадают с A2
        Range("A2") = Range("A1") 'То в А2 отобразить те данные которые совпадают со списком А1 и выбраны в списке А1
    Else
    End If

End Sub
[/vba]
но он отображает в списке А2 все подряд что выбрано в A1.

Автор - Сергей13
Дата добавления - 20.02.2019 в 19:26
gling Дата: Среда, 20.02.2019, 20:32 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация: 674 ±
Замечаний: 0% ±

2010
Здравствуйте.
Цитата Сергей13, 20.02.2019 в 19:26, в сообщении № 1 ()
При выборе значения из списка А1 yнеобходимо отобразить данное значение в списке А2, при условии, если данное значение есть в списке A2, если нет такого значения, то не отображать.

Как я понял, на русский язык это переводится так: если А1=А2( если данное значение есть в списке A2), то нужно сделать чтобы А2=А1(необходимо отобразить данное значение в списке А2). Кроме того не понятно, о каком списке речь, если А2 это ячейка и А1 ячейка? Ваш макрос выполняет то что написано, если А1<>A2, макрос делает их равными, а если они равны, то и делать ничего не надо. Следовательно при любом раскладе А2 будет равен А1. Что не так?


ЯД-41001506838083

Сообщение отредактировал gling - Среда, 20.02.2019, 20:36
 
Ответить
СообщениеЗдравствуйте.
Цитата Сергей13, 20.02.2019 в 19:26, в сообщении № 1 ()
При выборе значения из списка А1 yнеобходимо отобразить данное значение в списке А2, при условии, если данное значение есть в списке A2, если нет такого значения, то не отображать.

Как я понял, на русский язык это переводится так: если А1=А2( если данное значение есть в списке A2), то нужно сделать чтобы А2=А1(необходимо отобразить данное значение в списке А2). Кроме того не понятно, о каком списке речь, если А2 это ячейка и А1 ячейка? Ваш макрос выполняет то что написано, если А1<>A2, макрос делает их равными, а если они равны, то и делать ничего не надо. Следовательно при любом раскладе А2 будет равен А1. Что не так?

Автор - gling
Дата добавления - 20.02.2019 в 20:32
Сергей13 Дата: Среда, 20.02.2019, 20:53 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
gling, Списки выпадающие, код мой чисто пробный.
Условие простое но объяснить просто мне как то сложно…

Для примера возьмем числовые значения:
Список А1 заполнен числовыми значениями 1, 2, 3
Список А2 заполнен числовыми значениями 1, 4, 5
Если в списке А1 выбрать 1 то в списке А2 должно отобразиться 1
Если в списке А1 выбрать 2 то в списке А2 не должно отображаться ничего, потому как 2 нет в списке А2.
 
Ответить
Сообщениеgling, Списки выпадающие, код мой чисто пробный.
Условие простое но объяснить просто мне как то сложно…

Для примера возьмем числовые значения:
Список А1 заполнен числовыми значениями 1, 2, 3
Список А2 заполнен числовыми значениями 1, 4, 5
Если в списке А1 выбрать 1 то в списке А2 должно отобразиться 1
Если в списке А1 выбрать 2 то в списке А2 не должно отображаться ничего, потому как 2 нет в списке А2.

Автор - Сергей13
Дата добавления - 20.02.2019 в 20:53
gling Дата: Среда, 20.02.2019, 22:00 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация: 674 ±
Замечаний: 0% ±

2010
Попробуйте вариант, но он только для вашего примера, если есть пробелы и запятые, если запятые подряд без пробела, то будет приниматься за одно слово.[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) 'При выборе данных в списке A1
i = Application.IfError(Application.Search(" " & Range("A1") & ",", " " & Range("A2") & ","), 0)
    If i > 0 Then
        Range("A2") = Range("A1") 'То в А2 отобразить те данные которые совпадают со списком А1 и выбраны в списке А1
    End If
End Sub

[/vba]


ЯД-41001506838083
 
Ответить
СообщениеПопробуйте вариант, но он только для вашего примера, если есть пробелы и запятые, если запятые подряд без пробела, то будет приниматься за одно слово.[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) 'При выборе данных в списке A1
i = Application.IfError(Application.Search(" " & Range("A1") & ",", " " & Range("A2") & ","), 0)
    If i > 0 Then
        Range("A2") = Range("A1") 'То в А2 отобразить те данные которые совпадают со списком А1 и выбраны в списке А1
    End If
End Sub

[/vba]

Автор - gling
Дата добавления - 20.02.2019 в 22:00
Сергей13 Дата: Среда, 20.02.2019, 22:27 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
gling, Пробелов запятых нет есть точки.
Но данное условие не выполняется.
Тестовый файл на основании описанного примера.
К сообщению приложен файл: 8758615.xlsm (13.6 Kb)
 
Ответить
Сообщениеgling, Пробелов запятых нет есть точки.
Но данное условие не выполняется.
Тестовый файл на основании описанного примера.

Автор - Сергей13
Дата добавления - 20.02.2019 в 22:27
Karataev Дата: Среда, 20.02.2019, 22:33 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
К сообщению приложен файл: 8758615-kar.xlsm (14.2 Kb)
 
Ответить
Сообщение

Автор - Karataev
Дата добавления - 20.02.2019 в 22:33
gling Дата: Среда, 20.02.2019, 22:55 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация: 674 ±
Замечаний: 0% ±

2010
Цитата Сергей13, 20.02.2019 в 22:27, в сообщении № 5 ()
Тестовый файл на основании описанного примера.
Теперь совсем не понятно, что выбрать в А1 и что должно появиться в В1 и по чему? Одинаковые в обоих ячейках только 1.Один.


ЯД-41001506838083
 
Ответить
Сообщение
Цитата Сергей13, 20.02.2019 в 22:27, в сообщении № 5 ()
Тестовый файл на основании описанного примера.
Теперь совсем не понятно, что выбрать в А1 и что должно появиться в В1 и по чему? Одинаковые в обоих ячейках только 1.Один.

Автор - gling
Дата добавления - 20.02.2019 в 22:55
Сергей13 Дата: Среда, 20.02.2019, 23:29 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
gling, Принцип действия того как необходимо, четко показан у Karataev , но данный код не работает под диапазоны…


Сообщение отредактировал Сергей13 - Среда, 20.02.2019, 23:33
 
Ответить
Сообщениеgling, Принцип действия того как необходимо, четко показан у Karataev , но данный код не работает под диапазоны…

Автор - Сергей13
Дата добавления - 20.02.2019 в 23:29
Сергей13 Дата: Среда, 20.02.2019, 23:29 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Karataev, для упрощения примера, списки были созданы путем ввода данных непосредственно в самих списках, в реальности списки формирует диапазон, поэтому данный код не срабатывает...
Данный пример с сокращенными диапазонами, но с Вашим кодом.
К сообщению приложен файл: 1950595.xlsm (16.7 Kb)


Сообщение отредактировал Сергей13 - Четверг, 21.02.2019, 00:01
 
Ответить
СообщениеKarataev, для упрощения примера, списки были созданы путем ввода данных непосредственно в самих списках, в реальности списки формирует диапазон, поэтому данный код не срабатывает...
Данный пример с сокращенными диапазонами, но с Вашим кодом.

Автор - Сергей13
Дата добавления - 20.02.2019 в 23:29
Karataev Дата: Четверг, 21.02.2019, 09:10 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel


Сообщение отредактировал Karataev - Четверг, 21.02.2019, 09:12
 
Ответить
Сообщение

Автор - Karataev
Дата добавления - 21.02.2019 в 09:10
gling Дата: Четверг, 21.02.2019, 21:25 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация: 674 ±
Замечаний: 0% ±

2010
Цитата Сергей13, 20.02.2019 в 23:29, в сообщении № 8 ()
как необходимо, четко показан

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


ЯД-41001506838083
 
Ответить
Сообщение
Цитата Сергей13, 20.02.2019 в 23:29, в сообщении № 8 ()
как необходимо, четко показан

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

Автор - gling
Дата добавления - 21.02.2019 в 21:25
Сергей13 Дата: Воскресенье, 24.02.2019, 21:32 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Karataev, Благодарю!
 
Ответить
СообщениеKarataev, Благодарю!

Автор - Сергей13
Дата добавления - 24.02.2019 в 21:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отобразить данные в списке выбранные в другом списке… (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!