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