Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

3.7K
13 июня 2007 года
SAID
92 / / 06.10.2005
Доброго времени суток.
В Книге Excel существует столбец в который заносятся текстовые значения, надо чтобы при добавление эти значения загрузить в Combobox и при последующем вводе сделать так чтобы значения тоже загружались в этот список ( с сохранением и без повторов)
Зарание спасибо.
30K
23 июня 2007 года
Karabas
3 / / 22.06.2007
' например так:
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' формирование списка в КомбоБокс
    Const C1 As Long = 1, C2 As Long = 1, R1 As Long = 1, R2 As Long = 500   ' границы зоны чувствительности для обновления списка
    Const Cs As Long = 1, Rs As Long = 2 ' начальная ячейка столбца списка
    Const MaxEmpty As Long = 3 ' количество пустых строк в списке - признак его конца
    Dim KolEmpty As Long ' счетчик пустых строк
    Dim i As Long, r As Long ' счетчики
    Dim TekValue As Variant
    Dim FndDubl As Boolean
    If Target.Column >= C1 And Target.Column <= C2 And Target.Row >= R1 And Target.Row <= R2 Then
        KolEmpty = 0: r = 0
        ComboBox1.Clear
        While KolEmpty < MaxEmpty
            TekValue = Cells(Rs + r, Cs).Value
            If Not IsEmpty(TekValue) Then
                KolEmpty = 0
                ' проверка повторов
                FndDubl = False
                For i = 0 To ComboBox1.ListCount - 1
                    If TekValue = ComboBox1.List(i) Then
                        FndDubl = True
                        Exit For
                    End If
                Next i
                '
                If Not FndDubl Then
                    ComboBox1.AddItem TekValue ' добавляем элемент в КомбоБокс
                    Cells(Rs + r, Cs).Interior.ColorIndex = 0 ' сбрасываем выделение цветом в списке
                Else
                    Cells(Rs + r, Cs).Interior.ColorIndex = 6 ' выделяем цветом пвторы в списке
                End If
            Else
               KolEmpty = KolEmpty + 1
            End If
            r = r + 1
        Wend
        If ComboBox1.ListCount > 0 Then
            ComboBox1.Value = ComboBox1.List(0)
        End If
    End If
End Sub

Private Sub ComboBox1_Change()
    Cells(1, 2).Value = ComboBox1.Value
End Sub
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог