| Jak pobrać unikaty z danej kolumny i podać je jako źródło danych dla ComboBoxa na formularzu? |
|
Problem: W jednej z kolumn znajdują się wartości, które chciałbym aby były źródłem do unikatowej listy dla pola kombi na formularzu. ![]() Rozwiązanie: Możesz skorzystać np. z takiego makra. Option Explicit Private Sub UserForm_Initialize() Dim rngTabela As Excel.Range Dim rngKomorka As Excel.Range Dim avWyksztalcenie() As Variant Dim iLicznik As Integer 'Przypisuje zmienna do tabeli glownej Set rngTabela = Arkusz1.Range("A1").CurrentRegion 'Wyfiltrowuje unikaty dla wyksztalcenia w miejscu rngTabela.Range("B:B").AdvancedFilter Action:=xlFilterInPlace, Unique:=True 'Dodaje unikat do tablicy For Each rngKomorka In rngTabela.Range("B2:B" & rngTabela.Rows.Count).SpecialCells(Type:=xlVisible) iLicznik = iLicznik + 1 ReDim Preserve avWyksztalcenie(1 To iLicznik) avWyksztalcenie(iLicznik) = rngKomorka.Value Next rngKomorka 'Zaladowanie tablicy do pola kombi Me.ComboBox1.List = avWyksztalcenie 'Zniszczenie zmiennych obiektowych Set rngKomorka = Nothing Set rngTabela = Nothing Erase avWyksztalcenie Arkusz1.ShowAllData End Sub |
|
| Zmieniony ( Środa, 30. Czerwiec 2010 21:51 ) |
.jpg)