Доброго дня, уважаемые знатоки VBA! Собрал выпадающий список из кодов найденных на просторах - есть код от Jack Famous и код от nerv, что-то убрал, что-то добавил. В файле СОРТ1 - одна форма "обслуживает" два списка данных с разных листов. Становишься на ячейку (С4) - выпадает один список данных, становишься на другую ячейку (С13) - выпадает другой список данных. Всё бы хорошо, но захотелось старухе быть владычицей морской чтобы в выпадающем списке была сортировка по алфавиту. Нашел код уважаемого nerv'a, применил в файле СОРТ2 - работает изумительно (визуально сортировка происходит именно в самом листбоксе, при этом сам список базы данных как был девственно не тронут сортировкой, так им и остался, что очень важно и нужно). Всё бы хорошо, да вот не задача - теперь в ячейках и С4 и С13 выпадает один и тот же список данных.
Как и что прописать, чтобы заработали оба списка не знаю и прошу помочь.
P.S. Файл СОРТ2 не цепляется... но код господина nerv закомментирован в файл СОРТ1
Доброго дня, уважаемые знатоки VBA! Собрал выпадающий список из кодов найденных на просторах - есть код от Jack Famous и код от nerv, что-то убрал, что-то добавил. В файле СОРТ1 - одна форма "обслуживает" два списка данных с разных листов. Становишься на ячейку (С4) - выпадает один список данных, становишься на другую ячейку (С13) - выпадает другой список данных. Всё бы хорошо, но захотелось старухе быть владычицей морской чтобы в выпадающем списке была сортировка по алфавиту. Нашел код уважаемого nerv'a, применил в файле СОРТ2 - работает изумительно (визуально сортировка происходит именно в самом листбоксе, при этом сам список базы данных как был девственно не тронут сортировкой, так им и остался, что очень важно и нужно). Всё бы хорошо, да вот не задача - теперь в ячейках и С4 и С13 выпадает один и тот же список данных.
Как и что прописать, чтобы заработали оба списка не знаю и прошу помочь.
P.S. Файл СОРТ2 не цепляется... но код господина nerv закомментирован в файл СОРТ1grh1
'Dim Arr(), i As Long, s As String, iLastRow As Long, x 'iLastRow = Cells(Rows.Count, 1).End(xlUp).Row 'Arr = Worksheets("Данные").Range("A2:A89").Value ' On Error Resume Next With New Collection For Each x In gorokh() s = Trim(x) If Len(s) > 0 Then If IsEmpty(.Item(s)) Then For i = 1 To .Count If s < .Item(i) Then Exit For Next If i > .Count Then .Add s, s Else .Add s, s, Before:=i End If End If Next ReDim gorokh(1 To .Count) For i = 1 To .Count gorokh(i) = .Item(i) Next End With
ListBoxItems.List = gorokh Me.TextBoxItems.SetFocus End Sub
[/vba]
Любите gorokh? Его и сортируйте. [vba]
Код
Private Sub UserForm_Initialize()
'ниже закоментирован код сортировки NERV'a
'Dim Arr(), i As Long, s As String, iLastRow As Long, x 'iLastRow = Cells(Rows.Count, 1).End(xlUp).Row 'Arr = Worksheets("Данные").Range("A2:A89").Value ' On Error Resume Next With New Collection For Each x In gorokh() s = Trim(x) If Len(s) > 0 Then If IsEmpty(.Item(s)) Then For i = 1 To .Count If s < .Item(i) Then Exit For Next If i > .Count Then .Add s, s Else .Add s, s, Before:=i End If End If Next ReDim gorokh(1 To .Count) For i = 1 To .Count gorokh(i) = .Item(i) Next End With
ListBoxItems.List = gorokh Me.TextBoxItems.SetFocus End Sub