Funkcja
InputBox
Przykłady opisane w tej lekcji dostępne są w arkuszu Excela:
VBA.xls, tylko ich samodzielne
przerobienie daje gwarancję zapamiętania tej lekcji.
Przykłady dla wszystkich lekcji szkolenia Excel 2003: ExcelSzkolenie.pl
Cwiczenia Excel 2003.zip
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
Szkolenie Excel 2003 Szkolenie Excel 2007