Jeśli musisz wypełnić lub załadować dane w ComboBox z tabelą z wektora w Excelu, najprawdopodobniej będzie to wymagane bez powtarzania jakichkolwiek danych. Wypełnienie lub załadowanie Combo Boxa wektorem pozwoli na wygodniejsze przeglądanie naszych danych.
Tablice to zbiór wartości tego samego typu, a wektory to tablice jednokierunkowe. Przed przystąpieniem do pracy z wektorami ważne jest, aby dowiedzieć się, czym są wektory dynamiczne i jak są używane oraz pod jakimi prezerwatywami są używane i jak zmieniać ich rozmiar.
Może się to wydawać dość skomplikowane dla tych, którzy nie obsługują poprawna metodologia, a ten arkusz kalkulacyjny ma tak wiele funkcji, że trudno je wszystkie poznać.
Skonfiguruj ComboBox
Aby rozpocząć, musisz mieć dobrze uporządkowane informacje, które chcesz dodać do ComboBox. Najlepszym sposobem będzie lista w tabeli.
Teraz następną rzeczą jest otwarcie Edytora Visual Basic lub dostęp do niego za pomocą zakładki „Programista„Lub za pomocą poleceń”Alt + F11”.
Następnie w edytorze poszukaj przycisku „Wstawić„Umieszczony na górnej wstążce i spośród wyświetlanych opcji wybieramy tzw.UserForm”.
W ten sposób pojawi się wyskakujące okienko, w którym zostanie dodane z dolnego menu „Sterownica” element „Pole kombi”.
Następnie w lewej dolnej części ekranu można zmienić nazwę skrzynki na dowolną żądaną przez użytkownika. Następnym krokiem jest dwukrotne kliknięcie w oknie formularza.
W ten sposób otworzą się ustawienia UserForm, gdzie po prawej stronie będzie strzałka ze znakiem „Wydarzenia„, Z którego”Zainicjuj”. Ta akcja doda odpowiednie dane do okna, w którym zacznie się tworzyć odpowiedni kod dla tego, czego szukamy.
Kod
W tym przypadku zaczniemy od napisania serii zmiennych, które zapewnią i pozwolą na to formularz działają prawidłowo. W tym celu należy wypełnić w następujący sposób:
Private Sub UserForm_Initialize ()
Dim UniqueValue As Collection
Dim eng As Range
Przyciemnij komórkę jako zakres
Dim sh As Worksheet
Dim vNum As Variant
Ustaw sh = ThisWorkbook.Worksheets („Sheet1”)
Ustaw Rng = sh.Range („D4”, sh.Range (D4) .End (x1Down))
Ustaw UniqueValue = Nowa kolekcja
Przy błędzie Wznów Dalej
Dla każdej komórki w Rng.Cells
UniqueValue.Add cell.Value, CStr (cell.Value)
Następna komórka
W przypadku błędu GoTo 0
Dla każdego vNum w UniqueValue
Me.UserForm.AddItem vNum
Następny vNum
Aby zakończyć, wybierz „Grać„, Zielona strzałka”,Kontyntynuj„Lub”F5”Aby uruchomić ComboBox, a w ten sposób przeniesie nas bezpośrednio do arkusza kalkulacyjnego.
Jak działa ten kod?
Znaczenie pisania kodu, jak przedstawiono powyżej, polega na tym, że są w nim pewne elementy, które pozwalają nie powtarzać danych w Excel ComboBox.
W tym sensie polecenia muszą być w pełni przestrzegane. W rzeczywistości jedną ze zmiennych, które pomijają powtarzające się rekordy, jest „Przy błędzie Wznów Dalej”.
Ponadto „W przypadku błędu GoTo 0”, W ten sam sposób wpływa na to, jak formularz będzie przechodził do danych, które nie są unikalne. Teraz trzeba wziąć pod uwagę nazwę arkusza, nad którym się pracuje.
Dlaczego? Cóż, ponieważ tytuł musi być zapisany tak, jak jest w wierszu „Ustaw sh = ThisWorkbook.Worksheets („Sheet1”)„Z kodu. Będąc „Arkusz1Tylko przykład.
Oprócz tego, jeśli chodzi o nazwę, którą nadaliśmy ComboBox, konieczne będzie również zapamiętanie jej i prawidłowe używanie.
Ponieważ musi być napisane w części kodu, która mówi „Me.UserForm.AddItem vNum„, Zastąpienie”UseForm„Według tytułu, który został wybrany.
W ten sposób Excel ComboBox zostanie dodany tam, gdzie załadowane wartości lub dane nie są powtarzane.
Chociaż, jak widzieliśmy, ta procedura jest zwykle stosowana przez użytkowników, którzy mają już pewną obsługę funkcji zawartych w tym narzędziu obliczeniowym.
Dlatego jeśli chcesz kontynuować pracę z tego typu procesem, może być potrzebny jakiś rodzaj kursu Excel lub poświęć się badaniu wszystkich możliwości metodą prób i błędów.
Tak jak ComboBoxes działają z wektorami, mogą również pracować z danymi zakresu. Dane dotyczące zakresu można również przekazywać bez ich powtarzania.