VBA InputBox

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óre 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. Szczególnie w przypadku języka VBA często wymagane jest wprowadzenie danych przez użytkownika.

Korzystając z InputBox możemy uzyskać 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 parametry opcjonalne. 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.

Możesz pobrać ten szablon VBA InputBox Excel tutaj - Szablon VBA InputBox Excel

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 INPUTBOX i daj miejsce, a zobaczysz składnię pola wejściowego.

Krok 5: Podaj monit „Wprowadź swoje imię”.

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 w komórkach

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: Dla tej zmiennej przypisz wartość poprzez pole wejściowe.

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 danych znajdzie 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óra 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ź.

Otrzymaliśmy wartość błędu jako niezgodność typu . Ponieważ zadeklarowaliśmy zmienny typ danych jako DATA, nie możemy przechowywać niczego innego niż DATA w polu wejściowym.

Teraz wprowadź datę i zobacz, co się stanie.

Jak tylko wpiszesz datę, a następnie kliknij OK i zobacz, jaka jest odpowiedź.

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 and etc.

In order 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 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.

So, accordingly, select your type. I have selected 1 as the parameter i.e. only numbers.

Now run the code and type of text value.

Click on OK and see what happens.

It says the number is not valid. So we can enter only numbers in this input box.

Things to Remember

  • We need a variable to store the value given by the input box.
  • If you are using InputBox without the Application method then you should be perfect about the variable data type.
  • Use Variant data type which can hold any kind of data type and stores.