Funkcja InputBox

Przykłady opisane w tej lekcji dostępne są w arkuszu Excela: VBA.xlsm, tylko ich samodzielne przerobienie daje gwarancję zapamiętania tej lekcji.

Przykłady dla wszystkich lekcji szkolenia Excel 2013: ExcelSzkolenie.pl Cwiczenia Excel 2013.zip

 

Ta lekcja może być obejrzana lub przeczytana poniżej.

Film wygląda najlepiej jeśli będzie odtwarzany w rozdzielczości 720p HD, rozdzielczość można zmienić dopiero po uruchomieniu filmu klikając na ikonie trybika  która pojawi się w prawym dolnym rogu poniższego ekranu. Po kilku sekundach od zmiany obraz wyostrzy się.

 

 

 

 

 

Funkcja ‘InputBox’ daje użytkownikowi makra możliwość wprowadzenia danych, które później zostaną wykorzystane przez makro.

 

Składnia:

InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)

 

prompt – to tekst jaki ma się wyświetlać,

title – tytuł okienka z naszym tekstem, jeżeli nie podamy tytułu, zostanie wyświetlony napis: Microsoft Excel

HelpFile – pomoc, opcja nie jest używana przy prostych makrach

HelpContextId – kontekst, opcja ta nie jest używana przy prostych makrach

Type – jaki typ mają mieć dane wprowadzone przez użytkownika

 

 

 

Przykład 1.

 

W pierwszym przykładzie przy pomocy dwóch funkcji InputBox przypisujemy do zmiennych ‘nazwisko’ i ‘firma’ wprowadzone przez użytkownika dane.

Następnie przy pomocy funkcji MsgBox wyświetlamy komunikat złożony z kombinacji tekstu będącego elementem makra i wartości zmiennych podanych przez użytkownika.

 

 

Sub Funkcja_InputBox_Przyklad1()

 

nazwisko = InputBox("Jak masz na nazwisko?", "Pytanie 1.")

 

firma = InputBox("Podaj nazwę firmy dla której pracujesz", "Pytanie 2. i ostatnie")

 

MsgBox "Słuchaj, " & nazwisko & " czy aby na pewno w firmie " & firma & _

" nie mają nic przeciwko abyś w godzinach pracy zajmował się nauką VBA?", vbQuestion

 

End Sub

 

 

Należy pamiętać, że kliknięcie przez użytkownika przycisku ‘Cancel’ nie powoduje zakończenie działania makra a jedynie nie wprowadzenie niczego do InputBox.

 

 

 

 

  

 

 

Przykład 2.

 

W przykładzie 2 prosimy użytkownika o liczbę wierszy którą chce pokolorować na zielono.

Po tytule okna następuje przecinek i domyślna wartość (100), która pojawia się automatycznie w okienku do wpisywania.

 

To co wpisze w okienku Inputbox przypisywane jest do zmiennej ‘zakres’, która później wykorzystywana jest do zaznaczenia obszaru, który ma zostać pokolorowany.

 

Jeżeli wpisana wartość przekracza 100 makro zostanie zakończone.

Jeżeli użytkownik kliknie ‘Cancel’ zmienna zakres ma wartość ”” czyli pustą i także w tym przypadku makro zostaje zakończone poprzez komendę Exit Sub.

 

 

Sub Funkcja_InputBox_Przyklad2()

 

zakres = InputBox("To makro koloruje wiersze na zielono." & vbCrLf & _

"Maksymalnie 100 wierszy!" & vbCrLf & "Ile wierszy chcesz pokolorować?", _

"Wielce użyteczne makro kolorujące", 100)

 

If zakres > 100 Then Exit Sub

 

Range("A1:IV" & zakres).Select

Selection.Interior.ColorIndex = 4

 

End Sub