Typ podwójnej zmiennej
VBA Podwójnie typ danych służy do przechowywania liczb wymagających miejsc dziesiętnych. Może przechowywać wartości od -1,79769313486231E308 do -4,94065645841247E-324 dla wartości ujemnych oraz od 4,94065645841247E-324 do 1,79769313486232E308 dla wartości dodatnich.
Aby zadeklarować zmienną Double, użyj instrukcji Dim (skrót od Dimension):
1 | Dim dblA jako Double |
Następnie, aby przypisać wartość do zmiennej, po prostu użyj znaku równości:
1 | dlbA = 3658,25 |
Umieszczenie tego w procedurze wygląda tak:
12345678 | Sub dblPrzykład()'deklaruj podwójną zmienną'Dim dblA jako Double'wypełnij podwójną zmiennądblA = 3658,25'pokaż okno wiadomościMsgBox dblANapis końcowy |
Jeśli uruchomisz powyższy kod, pojawi się następujący komunikat.
Pojedynczy typ danych
Typ danych Single to tylko krótsza wersja typu danych Double. Z tego powodu może mieć wpływ na zaokrąglanie, gdy jest używany w procedurze, ponieważ pojedynczy typ danych zostanie zaokrąglony do 4 miejsc po przecinku, podczas gdy typ danych podwójnych zostanie zaokrąglony do 12 miejsc po przecinku. Jeśli nie potrzebujesz typu danych Double, możesz użyć typu danych Single
Typy danych Int lub Long
Jeśli nie potrzebujesz miejsca dziesiętnego, możesz użyć typu danych Int lub typu Long.
1 | Dim intA jako liczba całkowita |
1 | Dim LngB jak Long |
Zadeklaruj podwójną zmienną na poziomie modułu lub globalnym
W poprzednich przykładach zadeklarowaliśmy zmienną Double w ramach procedury. Zmienne zadeklarowane za pomocą procedury mogą być używane tylko w ramach tej procedury.
Zamiast tego można zadeklarować zmienne Double na poziomie modułu lub globalnym.
Poziom modułu
Poziom modułu zmienne są deklarowane na górze modułów kodu z Ciemny oświadczenie.
Zmiennych tych można używać z dowolną procedurą w tym module kodu.
Poziom globalny
Poziom globalny zmienne są również deklarowane na górze modułów kodu. Jednak zamiast używać Ciemny oświadczenie, użyj Publiczny oświadczenie, aby wskazać, że zmienna Double jest dostępna do użycia w całym projekcie VBA.
1 | Publiczny DblA jako podwójny |
Jeśli miałbyś zadeklarować zmienną double na poziomie modułu, a następnie spróbować użyć jej w innym module, wystąpiłby błąd.
Jednakże, gdybyś użył słowa kluczowego Public do zadeklarowania zmiennej double, błąd nie wystąpiłby i procedura działałaby idealnie.
Formatuj podwójnie przechowywany jako ciąg
Może zaistnieć sytuacja, w której chcesz sformatować podwójny typ danych do ciągu - na przykład możesz chcieć wyświetlić symbol waluty i zaokrąglić liczbę do 2 miejsc po przecinku.
Aby to osiągnąć, użyj funkcji Format.
Poniższa procedura
1234567891011 | Test podrzędnyDoubleToCurrencyString()'deklaruj zmienną łańcuchowąDim strMoney As String'zadeklaruj podwójne i wypełnij wartośćDim dblWartość jako podwójnadblValue = 44055.256'przekonwertuj podwójną liczbę na ciąg znaków z symbolem waluty z 2 miejscami po przecinkustrMoney = Format(dblValue , "$#,##0.00")'zobacz wynik'MsgBox strMoneyNapis końcowy |
zwróci ten wynik:
Podobnie możesz chcieć wyświetlić numer jako sformatowany numer telefonu.
Tej procedury:
1234567891011 | Test podrzędnyDoubleToPhone()'deklaruj zmienną łańcuchowąDim strPhone As String'zadeklaruj podwójne i wypełnij wartośćDim dblWartość jako podwójnadblValue = 555968541'przekonwertuj podwójną liczbę na ciąg znaków z symbolem walutystrPhone = Format(dblValue, "(000)-000 0000")'zobacz wynik'MsgBox strPhoneNapis końcowy |
zwróci ten wynik: