Skip to content

Jak wypełnić lub załadować ComboBox tabelą z wektora w programie Excel bez powtarzania danych (przykład)

15 de luty de 2021

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.

ikona programu Excel

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.

dołącz do naszego kanału telegram