Pobieranie danych od użytkownika

W celu pobrania danych od użytkownika można skorzystać z funkcji InputBox. Funkcja przyjmuje kilka argumentów, z czego pierwszy jest obowiązkowy (jest to treść pytania, jakie się pojawi). Poniższy rysunek przedstawia wygląd przykładowego okna.

W poniższym przykładzie użyjemy okna dialogowego InputBox w celu pobrania długości dwóch boków prostokąta. Na podstawie tych danych zostanie obliczony jego obwód i pole. Pojawia się tutaj pewna niedogodność: użytkownik zamiast liczby może wpisać ciąg znaków. Próba przypisania ciągu znaków do zmiennej typu Single zakończy pojawieniem się komunikatu błędu i przerwaniem wykonywania programu. Dlatego też pobrane dane należy przekonwertować na liczbę. Do tego celu służy funkcja Val. Funkcja ta zwraca wartość 0 w przypadku, gdy użytkownik wpisał tekst, w pozostałych przypadkach zwraca tę samą liczbę, którą wprowadził użytkownik.

Sub PobierzDane()
    Dim a As Single, b As Single
    Dim Obwód As Single, Pole As Single
    
    a = Val(InputBox("Podaj szerokość prostokąta"))
    b = Val(InputBox("Podaj wysokość prostokąta"))
    
    Obwód = 2 * a + 2 * b
    Pole = a * b
    
    MsgBox "Pole podanego prostokąta wynosi: " & Pole, vbInformation
    MsgBox "Obwód podanego prostokąta wynosi: " & Obwód, vbInformation
End Sub