Pierwsze kroki z formularzami użytkownika Excel VBA

Anonim


W tym artykule poznasz podstawy formularzy użytkownika VBA. Wyjaśnię, jak stworzyć formularz w Excelu, jak korzystać z przybornika VBA, jak obsługiwać dane wejściowe użytkownika i wreszcie jak przechowywać dane wejściowe użytkownika. Przejdziemy przez ten temat na jednym przykładzie i przewodniku krok po kroku. Jeśli to czytasz, zakładam, że znasz podstawy Excel VBA.
Bez dalszej zwłoki zacznijmy.
Utwórz formularz inwestycji w Excelu i przechowuj rekord
Zaczniemy od zaprojektowania formularza użytkownika. W tym formularzu użytkownika będziemy mieli jedno pole tekstowe na imię, jedno na wiek, jedno na kwotę inwestycji i parę przycisków radiowych na płeć. Zacznijmy to.

Zaprojektuj formularz użytkownika

  • Otwórz wizualny edytor podstawowy w programie Excel za pomocą skrótu ALT+F11. W oknie projektu kliknij prawym przyciskiem myszy Projekt VBA(plik). w wstawić opcja, wybierz Formularz użytkownika.
  • Natychmiast zostanie utworzony nowy folder, a Twój formularz użytkownika zostanie znaleziony. Wszystkie formularze użytkownika dla tego projektu zostaną dodane do tego folderu.
  • Zmień nazwę formularza na InvestmentForm w pole właściwości.
  • Pole właściwości jest wyświetlane w lewym dolnym rogu eksploratora projektów. Jeśli go nie widzisz, przejdź do widoku i kliknij Okno właściwości. Będziemy go często używać, więc upewnij się, że tam jest. Służy do stylizacji, nazywania i dostosowywania formularzy.

  • Dodaj elementy do formularza: Na powyższym obrazku dodałem już elementy (etykiety, pole tekstowe, przycisk polecenia). Jednak nowy formularz użytkownika jest całkowicie pusty. Aby dodać elementy do formularza, musisz użyć przybornika. Jeśli nie widzisz przybornika, zdobądź go od pogląd patka.

  • Dodaj etykiety za pomocą przybornika dla opisowych nazw. Dodaj pole tekstowe dla danych wejściowych użytkownika.

    Dodaj dwa przyciski radiowe i nazwij je Mężczyzna i Kobieta.

    Użyłem ramki do ich hermetyzacji, ale nie jest to konieczne.

    Dodaj przyciski poleceń Zatwierdź oraz Anuluj wykonać operację na danym wejściu.

  • Elementy nazw: Pole tekstowe, etykiety, przyciski itp. są elementami. A żeby użyć ich w kodzie VBA, musimy nadać im nazwy. Używamy okna właściwości do zmiany ich nazwy.
  • Wybierz element. Tutaj zaznaczam pole tekstowe dla nazwy. Przejdź do okna właściwości i zmień nazwę na „Pole nazwy”. Zrób to samo dla każdego elementu, którego zamierzasz użyć. (nie musisz nazywać etykiet, chyba że chcesz, aby były klikalne.)


Zmieniłem nazwę elementu zgodnie z poniższą tabelą i będę używał tych nazw, aby się do nich odnieść. Możesz mieć różne imiona. Wystarczy zastąpić te imiona swoim imieniem i nazwiskiem. Są to nazwy VBA (nazwa kodowa), które będą używane w kodzie. Nie będą odzwierciedlone w formie.
Tekst, który możesz zobaczyć na etykietach i przyciskach to „Podpisy”. Nazwa i podpis elementu mogą być takie same, jeśli chcesz.

Element Przemianować
Pole tekstowe nazwy Pole nazwy
Pole tekstowe Wiek AgeBox
Przycisk opcji męskiej MaleOption
Przycisk opcji żeńskiej Opcja żeńska
Pole tekstowe inwestycji InvestBox
Prześlij przycisk polecenia Przycisk Prześlij
Przycisk anulowania polecenia Przycisk Anuluj
  • Pokaż formularz użytkownika użytkownikowi: Teraz formularz jest gotowy, pokażmy go użytkownikowi. Ale czekaj, jak to zrobić. W arkuszu nie ma opcji wywołania formularza użytkownika.
  • W rzeczywistości formularz użytkownika wymaga wyzwalacza. Nie da się tego pokazać sam. Możesz użyć przycisku polecenia, podprogramu lub zdarzenia, aby formularz pojawił się na ekranie.

    Tutaj użyję przycisku polecenia, aby wywołać formularz użytkownika.

    • W arkuszu przejdź do zakładki deweloperzy? Wstawić? Przycisk (kontrolka formularza). Zmień nazwę otwartego formularza.
    • Kliknij go prawym przyciskiem myszy. Kliknij przypisz makro, a następnie kliknij nowe.

  • Subskrypcja zostanie utworzona natychmiast. Teraz dodaj tę linię do tej podrzędnej.
Sub Open_Form() 'Formularz otwarcia InvestmentForm.Show End Sub 

Zrobione. Wróć do tego arkusza i kliknij przycisk. Pojawi się formularz użytkownika.

  • Wypełnij arkusz za pomocą formularza użytkownika VBA: Po kliknięciu przycisku polecenia (formularz otwarty) pojawia się formularz. Teraz możesz wypełnić formularz. Ale kiedy klikniemy przycisk Prześlij, dane powinny zostać wprowadzone na tym arkuszu, ale nic się nie dzieje.

Ponieważ nie napisaliśmy do tego żadnej instrukcji vba. Musimy zapisać dane formularza użytkownika w arkuszu.

  • Wróć do VBA i kliknij dwukrotnie Składać przycisk. Nowa subskrypcja zostanie utworzona automatycznie. Ta subskrypcja jest osadzona w formularzu i nie można jej znaleźć w żadnym module. To samo dotyczy każdego elementu formy.
  • Napisz ten kod vba w tym sub.
 Private Sub SubmitButton_Click() Sheet1.Activate 'pobierz pierwszy pusty wiersz w arkuszu (przeczytaj o tym tutaj) lstrow = Cells(Rows.Count, 1).End(xlUp).Row Set firstEmptyRow = Range("A" & lstrow + 1 ) 'zainicjuj każdą komórkę danymi firstEmptyRow.Offset(0, 0).Value = nameBox.Value 'pierwsza komórkaEmptyRow.Offset(0, 1).Value = AgeBox.Value 'pierwsza komórka po prawej firstEmptyRow.Offset(0, 3).Value = InvestBox.Value 'trzecia komórka po prawej' sprawdzanie przycisku opcji If MaleOption.Value = True Then firstEmptyRow.Offset(0, 2).Value = "Mężczyzna" 'druga komórka po prawej Else firstEmptyRow.Offset( 0, 2).Value = "Female" 'druga komórka po prawej End If 'Zamknięcie formularza Unload Me End Sub 

Powyższy fragment kodu VBA jest uruchamiany po kliknięciu przycisku przesyłania. Znajduje pierwszy pusty wiersz w arkuszu i wypełnia go wartościami podanymi w formularzu. A na koniec zamyka formularz poleceniem „Wyładuj mnie”.

  • Użyj polecenia Anuluj, aby zamknąć formularz. Na razie przycisk anulowania jest bezużyteczny. Nic nie robi. W przypadku, gdy chcesz przerwać wprowadzanie, możesz użyć przycisku anuluj. W tym wypadku:

Kliknij dwukrotnie przycisk anulowania polecenia w edytorze VBA. Zostanie utworzona nowa subskrypcja. Wystarczy napisać ten wiersz kodu, aby zamknąć formularz użytkownika.

 Private Sub CancelButton_Click() 'Formularz zamykający Wyładuj mnie Zakończ Sub 

W końcu kod formularza będzie wyglądał tak.

I to wszystko. W ten sposób używasz formularza użytkownika Excel vba, aby uzyskać dane wejściowe od użytkowników. W tym artykule właśnie zbadaliśmy podstawowe użycie userform, abyś mógł się z nim zapoznać. To proste, jeśli masz podstawową wiedzę na temat vba.

W przyszłych artykułach przyjrzymy się bardziej zaawansowanym funkcjom formularzy użytkownika vba w Excelu. Stworzymy formularz użytkownika w programie Excel, aby zrobić o wiele więcej. Zbadamy różne narzędzia i elementy dostępne dla userform vba. Do tego czasu ćwicz to. Możesz pobrać ten plik w celach informacyjnych, jeśli chcesz.
Więc tak, to był mały i prosty samouczek dotyczący formularza użytkownika. Mam nadzieję, że było pomysłowe. Daj mi znać, jeśli masz jakiekolwiek wątpliwości, daj mi znać w sekcji komentarzy poniżej.
Powiązane artykuły

Zmień wartość / zawartość kilku formantów UserForm za pomocą VBA w programie Excel

Zapobiegaj zamykaniu formularza użytkownika, gdy użytkownik kliknie przycisk x za pomocą VBA w programie Excel

Zwróć komórki, do których odwołuje się użytkownik, używając kontrolki RefEdit formularza użytkownika w programie Excel
Popularne artykuły:
Funkcja WYSZUKAJ.PIONOWO w programie Excel

LICZ.JEŻELI w Excelu 2016

Jak korzystać z funkcji SUMIF w programie Excel?