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

Вход

Регистрация

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

 

= Мир MS Excel/В форме зависимый вып сп по наим столб и значениям из них - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » В форме зависимый вып сп по наим столб и значениям из них (Макросы/Sub)
В форме зависимый вып сп по наим столб и значениям из них
Gjlhzl Дата: Вторник, 07.02.2023, 21:34 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

Вечер добрый всем. Подсобите пожалуйста - в форме 2 комбобокс по одному из них должны быть наименования столбцов таблиц по второму значения в них
(зависимый список )
кол во столбцов и наименование постоянны
К сообщению приложен файл: 4358628.xlsm (26.6 Kb)


Сообщение отредактировал Gjlhzl - Вторник, 07.02.2023, 22:17
 
Ответить
СообщениеВечер добрый всем. Подсобите пожалуйста - в форме 2 комбобокс по одному из них должны быть наименования столбцов таблиц по второму значения в них
(зависимый список )
кол во столбцов и наименование постоянны

Автор - Gjlhzl
Дата добавления - 07.02.2023 в 21:34
Nic70y Дата: Среда, 08.02.2023, 09:15 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
наверное так
[vba]
Код
Private Sub UserForm_Initialize()
    Dim arr()
    n = 0
    For i = 1 To 5
        ReDim Preserve arr(n)
        c = Cells(1, i)
        arr(n) = c
        n = n + 1
    Next
    ComboBox1.List = arr()
End Sub
Private Sub ComboBox1_Change()
    a = Application.Match(ComboBox1.Value, Range("a1:e1"), 0)
    If IsNumeric(a) Then ComboBox2.List = Range("Таблица" & a & "[" & ComboBox1.Value & "]").Value
End Sub
[/vba]
К сообщению приложен файл: 259.xlsm (26.0 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Среда, 08.02.2023, 09:15
 
Ответить
Сообщениенаверное так
[vba]
Код
Private Sub UserForm_Initialize()
    Dim arr()
    n = 0
    For i = 1 To 5
        ReDim Preserve arr(n)
        c = Cells(1, i)
        arr(n) = c
        n = n + 1
    Next
    ComboBox1.List = arr()
End Sub
Private Sub ComboBox1_Change()
    a = Application.Match(ComboBox1.Value, Range("a1:e1"), 0)
    If IsNumeric(a) Then ComboBox2.List = Range("Таблица" & a & "[" & ComboBox1.Value & "]").Value
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 08.02.2023 в 09:15
Gjlhzl Дата: Среда, 08.02.2023, 10:31 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, спасибо, проверю отпишусь


Сообщение отредактировал Gjlhzl - Среда, 08.02.2023, 10:46
 
Ответить
СообщениеNic70y, спасибо, проверю отпишусь

Автор - Gjlhzl
Дата добавления - 08.02.2023 в 10:31
Gjlhzl Дата: Среда, 08.02.2023, 11:53 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, в оригинальном файле выдает ошибку
method range of object global failed 1004
в строке
[vba]
Код
ComboBox2.List = Range("Òàáëèöà" & a & "[" & ComboBox1.Value & "]").Value
[/vba]
 
Ответить
СообщениеNic70y, в оригинальном файле выдает ошибку
method range of object global failed 1004
в строке
[vba]
Код
ComboBox2.List = Range("Òàáëèöà" & a & "[" & ComboBox1.Value & "]").Value
[/vba]

Автор - Gjlhzl
Дата добавления - 08.02.2023 в 11:53
Nic70y Дата: Среда, 08.02.2023, 12:10 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
Gjlhzl, значит в оригинале имена таблиц не совпадают с примером
или вообще таблицы не умные.


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Среда, 08.02.2023, 12:10
 
Ответить
СообщениеGjlhzl, значит в оригинале имена таблиц не совпадают с примером
или вообще таблицы не умные.

Автор - Nic70y
Дата добавления - 08.02.2023 в 12:10
Gjlhzl Дата: Среда, 08.02.2023, 12:14 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, а если имена табл допустим Овощи Мясо Груши Яблоки Картофель
как прописать в строке
[vba]
Код
If IsNumeric(a) Then ComboBox2.List = Range("Таблица" & a & "[" & ComboBox1.Value & "]").Value
[/vba]
 
Ответить
СообщениеNic70y, а если имена табл допустим Овощи Мясо Груши Яблоки Картофель
как прописать в строке
[vba]
Код
If IsNumeric(a) Then ComboBox2.List = Range("Таблица" & a & "[" & ComboBox1.Value & "]").Value
[/vba]

Автор - Gjlhzl
Дата добавления - 08.02.2023 в 12:14
Nic70y Дата: Среда, 08.02.2023, 12:21 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
не будем заморачивать на счет умных таблиц, так попробуйте
[vba]
Код
Private Sub ComboBox1_Change()
    a = Application.Match(ComboBox1.Value, Range("a1:e1"), 0)
    If IsNumeric(a) Then
        u = Cells(Rows.Count, a).End(xlUp).Row
        ComboBox2.List = Range(Cells(2, a), Cells(u, a)).Value
    End If
End Sub
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщениене будем заморачивать на счет умных таблиц, так попробуйте
[vba]
Код
Private Sub ComboBox1_Change()
    a = Application.Match(ComboBox1.Value, Range("a1:e1"), 0)
    If IsNumeric(a) Then
        u = Cells(Rows.Count, a).End(xlUp).Row
        ComboBox2.List = Range(Cells(2, a), Cells(u, a)).Value
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 08.02.2023 в 12:21
Gjlhzl Дата: Среда, 08.02.2023, 12:42 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, да спасибо работает
 
Ответить
СообщениеNic70y, да спасибо работает

Автор - Gjlhzl
Дата добавления - 08.02.2023 в 12:42
Мир MS Excel » Вопросы и решения » Вопросы по VBA » В форме зависимый вып сп по наим столб и значениям из них (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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