Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VBA в Excel, combobox 
:(
    Опции темы
aleksandrfnsv1
Дата 15.12.2008, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 5.4.2008

Репутация: нет
Всего: нет



Подскажите плиз как работать с combobox, а имеено в ехеле есть табличка и я хочу чтобы данные этой таблички выбирались на форме из combobox
PM MAIL   Вверх
ТоляМБА
Дата 15.12.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: нет
Всего: 252



Тебе точно комбобокс надо? Может такую фишку попробуешь:
Ячейки с А1 по А10 заполняешь цифрами от 1 до 10, ставишь курсор в ячейку С1, меню Данные пункт Проверка, тип данных выбираешь Список, источник выделяешь ячейки с А1 по А10, жмешь Ок. Щелкаешь на ячейку С1, справа появляется квадрат, жмаешь на него и выбираешь значения из списка.

Пойдёт?
PM   Вверх
Akina
Дата 15.12.2008, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Или скажем автофильтр - он тоже приводит к появлению комбо и позволяет отфильтровывать данные...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
aleksandrfnsv1
Дата 15.12.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 5.4.2008

Репутация: нет
Всего: нет



нет эту фишку я знаю, мне нужно реализовать через VBA программно, поэтому использую combobox подскажите как с ним работать а?
PM MAIL   Вверх
Каточимото
Дата 15.12.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.12.2008
Где: Попасная

Репутация: нет
Всего: нет



Цитата(aleksandrfnsv1 @  15.12.2008,  12:08 Найти цитируемый пост)
нет эту фишку я знаю, мне нужно реализовать через VBA программно, поэтому использую combobox подскажите как с ним работать а?

Ща напишу код. Узнаю.

Добавлено @ 13:34
Например, если у тебя несколько одинаковых имен, то можно сгруппировать по одному имена.
В модуле добавь код:
Код

Public Function GroupText(ByVal ARange As Range) As String()
    Dim Cnt As Long, i As Long, TArr(), TArrItm, TempArr() As String
    Dim tArea As Range
    ReDim TempArr(0)
    For Each tArea In ARange.Areas
        TArr = tArea.Value
        For Each TArrItm In TArr
            If Len(TArrItm) > 0 Then
                For i = 0 To Cnt - 1
                    If TempArr(i) = TArrItm Then Exit For
                Next
                If i = Cnt Then
                    ReDim Preserve TempArr(Cnt)
                    TempArr(Cnt) = TArrItm
                    Cnt = Cnt + 1
                End If
            End If
        Next
    Next
    GroupText = TempArr
End Function


В форме добавь комбобокс и так далее код:
Код

Private Sub UserForm_Initialize() 'Проинициализировать форму
    'Вывести список из ячейка с А1 до А65535
    ComboBox1.List = GroupText(Range("А1", Range("А65536").End(xlUp)))
End Sub


Ну если хочь добявить несколько комбобоксов, то можно ComboBoxn.List = GroupText(Range("n1", Range("n65536").End(xlUp)))

Вот и все!  smile 

Это сообщение отредактировал(а) Каточимото - 15.12.2008, 13:37
PM MAIL ICQ   Вверх
FINANSIST
Дата 15.12.2008, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Код

Option Explicit

Private Sub CommandButton1_Click()
Me.ListBox1.AddItem Me.ComboBox1.Value
End Sub

Private Sub CommandButton2_Click()
Dim x As Integer
UserForm1.Hide
Sheets("Лист2").Columns(1).ClearContents
For x = 0 To Me.ListBox1.ListCount - 1
Debug.Print Me.ListBox1.List(x, 0)
Sheets("Лист2").Cells(1, 1).Offset(x, 0).Value = Me.ListBox1.List(x, 0)
Next x
Unload Me
End Sub

Private Sub UserForm_Activate()
Dim x As Integer: Dim vl As String
x = 1
Do While Not IsEmpty(Sheets("sotr").Cells(1, 1).Offset(x, 0).Value)
Debug.Print Sheets("sotr").Cells(1, 1).Offset(x, 0).Value
Let vl = Sheets("sotr").Cells(1, 1).Offset(x, 0).Value
Me.ComboBox1.AddItem vl
x = x + 1
Loop
End Sub


ИСПОЛЬЗОВАНИЕ ЭТОГО КОДА ВО ВЛОЖЕНИИ

ЗЫ. В ЭТОМ ЖЕ ПРИМЕРЕ И ОТВЕТ НА ТВОЙ ВТОРОЙ ТОПИК "VBA в Excel, запись в ячейки таблицы"

Это сообщение отредактировал(а) FINANSIST - 15.12.2008, 16:03

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  ______.rar 15,82 Kb


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0753 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.