Funkcja VBA InputBox - Jak tworzyć InputBox i przechowywać wartości?

Spisie treści

Excel VBA InputBox

VBA InputBox to wbudowana funkcja służąca do pobierania wartości od użytkownika, ta funkcja ma dwa główne argumenty, w których jeden jest nagłówkiem pola wejściowego, a drugi jest pytaniem do pola wejściowego, funkcja pola wejściowego może przechowywać tylko dane wejściowe typu który może przechowywać zmienna.

Często w programie Excel korzystamy z danych, które są już w arkuszu programu Excel. Czasami potrzebujemy również pewnych danych wejściowych od użytkowników. Zwłaszcza w języku VBA często wymagane są dane wejściowe od użytkownika.

Za pomocą InputBox możemy pobrać dane od użytkownika i wykorzystać je do naszych celów. InputBox poprosi użytkownika o wprowadzenie wartości, wyświetlając InputBox.

Składnia

  • Podpowiedź: To nic innego jak wiadomość do użytkownika za pośrednictwem pola wprowadzania.
  • Tytuł: Jaki jest tytuł pola wprowadzania?
  • Domyślnie: Jaka jest domyślna wartość pola wejściowego? Ta wartość pojawia się w obszarze wpisywania w polu wprowadzania.

Te trzy parametry są wystarczająco dobre w programie Excel. Zignoruj ​​pozostałe 4 opcjonalne parametry. Aby zrozumieć tę składnię, spójrz na poniższy zrzut ekranu.

Jak stworzyć InputBox w VBA?

Ok, przejdźmy od razu do praktyczności. Wykonaj poniższe kroki, aby utworzyć swoje pierwsze pole wprowadzania.

Krok 1: Przejdź do VBE (Visual Basic Editor) i wstaw nowy moduł.

Krok 2: Kliknij dwukrotnie wstawiony moduł i utwórz nazwę makra.

Krok 3: Zacznij wpisywać słowo „InputBox”, zobaczysz powiązane opcje.

Krok 4: Wybierz pole wprowadzania i daj miejsce, a zobaczysz składnię pola wprowadzania.

Krok 5: Podaj monit „Wpisz swoje imię i nazwisko”.

Krok 6: Wpisz tytuł pola wejściowego jako „Dane osobowe”.

Krok 7: wpisz domyślną wartość „Wpisz tutaj”.

Krok 8: Gotowe. Uruchom ten kod i zobacz swoje pierwsze pole wprowadzania.

Przechowuj wartość InputBox do komórek

Teraz przejdziemy przez proces przechowywania wartości w komórkach. Wykonaj poniższe kroki.

Krok 1: Zadeklarowanie zmiennej jako Wariant.

Kod:

Sub InputBox_Example () Dim i As Variant End Sub

Krok 2: W przypadku tej zmiennej przypisz wartość za pomocą pola wprowadzania.

Kod:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Wpisz swoje imię i nazwisko", "Dane osobowe", "Wpisz tutaj") End Sub

Uwaga: gdy pole wprowadzania pojawi się po prawej stronie znaku równości, musimy wprowadzić argumenty lub składnię w nawiasach, tak jak w naszych zwykłych formułach.

Krok 3: Teraz, niezależnie od wartości wpisanej w polu wejściowym, musimy zapisać ją w komórce A1. W tym celu zapisz kod jako Range („A1”). Wartość = i

Kod:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Proszę wprowadzić swoje imię", "Dane osobowe", "Wpisz tutaj") Zakres ("A1"). Wartość = i End Sub

OK, gotowe. Uruchommy teraz ten kod, naciskając klawisz F5 lub możesz również uruchomić kod ręcznie, jak pokazano na poniższym zrzucie ekranu.

Jak tylko uruchomisz ten kod, zobaczymy pole wprowadzania.

Wpisz nazwę i kliknij OK.

Jak tylko wpiszesz nazwę i klikniesz OK, zobaczysz wartość pola wprowadzania w komórce A1.

Uwaga: możemy przechowywać dowolną wartość z pola wejściowego, jeśli zmienna jest poprawnie zdefiniowana. W powyższym przykładzie zdefiniowałem zmienną jako wariant, który może zawierać wszystkie typy danych.

Na przykład teraz zmieniłem typ zmiennej na Data.

Teraz uruchom kod i wpisz inną niż data.

Kliknij ok i zobacz, jaka jest odpowiedź.

We got the error value as Type mismatch. Since we have declared the variable data type as DATE, we cannot store anything other than DATE with an inputbox.

Now enter the date and see what happens.

As soon as you type the date and then click on OK and see what the response is.

Since we have entered the correct value, we got the result in the cell.

Validation of Input from User

You know what we can actually allow users to enter only specific value i.e., allow the user to enter only text, only number, only logical values, etc.

To perform this task, we need to use the method Application.InputBox.

Let’s look at the syntax of the Application.InputBox.

  • Prompt: This is nothing but the message to the user through an input box.
  • Title: What is the title of the input box?
  • Default: What is the default value of the input box? This value appears in the typing area of the input box.
  • Left: What should be the x position of the input box in the current window?
  • Top: What should be the y position of the inputbox in the current window?

To start this, inputbox declare variable and assign the value to a variable.

Now to assign value to start the word Application.

After the word Application, put a dot (.) and type Inputbox.

Select the input box and open the bracket.

As usual, enter Prompt, Title, and Default Value.

Now ignore left, top, help file, help context ID by typing 5 commas (,).

Here Type means what should be the input string. Below are the validations available.

Dlatego odpowiednio wybierz swój typ. Jako parametr wybrałem 1, czyli tylko liczby.

Teraz uruchom kod i typ wartości tekstowej.

Kliknij OK i zobacz, co się stanie.

Mówi, że numer jest nieprawidłowy. Więc możemy wpisać tylko liczby w tym polu wprowadzania.

Rzeczy do zapamiętania

  • Potrzebujemy zmiennej do przechowywania wartości podanej przez pole wejściowe.
  • Jeśli używasz InputBox bez metody Application, powinieneś być doskonały jeśli chodzi o zmienny typ danych.
  • Użyj typu danych Variant, który może przechowywać i przechowywać dowolny typ danych.

Interesujące artykuły...