Zawartość
UserForms, zwane także „oknami dialogowymi”, są graficznymi oknami, które umożliwiają użytkownikom wypełnianie informacji w polach i wstawianie takich danych do arkuszy kalkulacyjnych Excel. UserForm jest osadzony w programie Excel i działa podczas otwierania pliku Excel, zazwyczaj za pomocą makra. Ponieważ UserForms korzysta z języka Visual Basic, można je dostosować, aby dane wprowadzone w ich polach były kompletne i ważne przed przesłaniem ich do arkusza kalkulacyjnego Excel.
Instrukcje
Excel UserForms to doskonały sposób na zapewnienie prawidłowego i czystego wprowadzania danych (obraz danych binarnych przez rgbspace z Fotolia.com)-
Otwórz program Excel i utwórz nowy arkusz, klikając element „Plik” i wybierając „Nowy”. Zapisz plik jako „updated_sheet.xls”.
-
Otwórz arkusz i uruchom Edytor Visual Basic, naciskając „Alt” + „F11”. Utwórz nowy UserForm, klikając menu „Wstaw” i wybierając „UserForm”. Nazwij UserForm dla „transferForm”, zmieniając atrybut „Name” w menu właściwości. Zmień atrybut „Caption” na „transferForm”.
-
Dodaj pole tekstowe do formularza, zaznaczając je w przyborniku, przeciągając je i upuszczając w formularzu. Nazwij pole tekstowe jako „transferInput” w oknie właściwości. Jeśli przybornik nie jest otwarty, przejdź do „Wyświetl” i „Przybornik”.
-
Dodaj przycisk aktualizacji do formularza. Wybierz „Przycisk polecenia” z przybornika, przeciągnij go i upuść na formularzu. Nazwij przycisk polecenia „TransferButton” w oknie właściwości i zmień atrybut „Caption” na „Refresh Sheet”.
-
Dodaj przycisk, aby zamknąć formularz. Wybierz drugi „Przycisk polecenia” z przybornika, przeciągnij go i upuść na formularzu. Nazwij przycisk polecenia jako „closeButton” w oknie właściwości i zmień atrybut „Caption” na „Close Form”.
-
Otwórz edytor Visual Basic, klikając dwukrotnie przycisk „TransferButton”. Wprowadź następujący kod w funkcji „transferButton_click ()”, która przeniesie wszystkie wypełnione informacje w polu tekstowym do arkusza „worksheet_dual.xls”, gdy użytkownik kliknie przycisk. Zamknij edytor kodu.
Private Sub transferButton_Click () Dim TransferWorkheet jako Arkusz Set TransferWorksheet = Worksheets ("Sheet1") TransferWorksheet.Cells (1,1) .Value = Me.transferInput.Value End Sub
-
Otwórz ponownie edytor kodu Visual Basic, klikając dwukrotnie przycisk „Zamknij przycisk”. Wstaw następujący kod w funkcji „closeButton_Click ()”, która zamknie formularz, gdy użytkownik kliknie przycisk. Zamknij edytor kodu.
Private Sub closeButton_Click () Unload Me End Sub
-
Uruchom kod formularza, klikając „Uruchom”, a następnie „Uruchom sub / UserForm”. Wypełnij pole tekstowe i kliknij przycisk „TransferButton”. Sprawdź, czy dane zostały poprawnie przesłane do pierwszej komórki w arkuszu. Zapisz i zamknij UserForm.
-
Użyj procedury zdarzenia Excel, aby otworzyć UserForm, gdy użytkownik otwiera arkusz. Otwórz „Project Explorer” i kliknij dwukrotnie okno kodu „ThisWorkbook”. Wstaw makro poniżej, które otworzy formularz po otwarciu arkusza. Zapisz i zamknij Visual Basic.
Private Sub Workbook_Open () transferForm.Show End Sub
-
Otwórz ponownie plik „updated_sheet.xls”. Formularz zostanie otwarty. Wpisz tekst w polu i kliknij przycisk „TransferButton”. Tekst, który wypełnisz, zostanie przeniesiony do pierwszej komórki arkusza.
Jak przesłać dane z UserForm do arkusza roboczego
Jak
- Aby otworzyć okno Właściwości lub Eksplorator projektu, wybierz elementy menu „Wyświetl” w Edytorze Visual Basic.
- Aby zmienić rozmiar kontrolek dodanych w formularzu, użyj małych kwadratów, które pojawiają się po wybraniu formantu.
- Spróbuj dodać kilka poprawek do formularza, aby uniemożliwić użytkownikom wprowadzanie nieprawidłowych danych.
Uwaga
- Makra nie będą działać we wszystkich wersjach programu Excel.
- Niektóre ustawienia zabezpieczeń programu Excel nie pozwalają na uruchamianie makr.
- Obsługa edytora Visual Basic została usunięta w programie Excel 2008 dla komputerów Mac.
Czego potrzebujesz
- Microsoft Excel z edytorem Visual Basic