Co to jest Excel VBA CDBL?

CDBL to funkcja VBA, która służy do konwersji wyrażeń na podwójny typ danych. VBA składa się z szeregu funkcji konwersji danych. Pomaga to zmienić typ danych zmiennej lub wartości z jednej na drugą. W różnych obliczeniach konwersja jest procesem niezbędnym do uzyskania właściwego wyniku. CDBL jest jedną z funkcji konwersji danych zawartych w funkcjach konwersji typu w VBA. CDBL oznacza „Konwertuj na podwójne”. Podczas przetwarzania danych możesz napotkać sytuacje, aby zmienić liczby całkowite na podwójne. Aby wydrukować dokładny wynik, ta funkcja pomoże ci. Funkcja VBA CDBL akceptuje tylko liczby. Każde wyrażenie oprócz liczb spowoduje błąd niedopasowania typu.

Format funkcji CDBL w Excel VBA

CDBL to prosta funkcja, która wymaga pojedynczego wyrażenia do działania w języku VBA. Wyrażenie powinno być liczbą.

  • Wyrażenie: jest liczbą, którą chcesz przekonwertować na liczbę zmiennoprzecinkową.

Jeśli wyrażenie jest czymś innym niż liczba, funkcja zwróci błąd niezgodności. Zobacz poniższy przykład, w którym wyrażenie nieliczbowe jest przekazywane do funkcji CDBL i powoduje niezgodność typu błędu.

Zastosowanie funkcji CDBL w VBA

Sprawdźmy, w jaki sposób funkcja VBA CDBL pomaga nam w przetwarzaniu danych. Aby uzyskać jasny widok i zrozumieć praktyczne zastosowanie zmiany typu danych, patrz poniższy przykład. Możesz zobaczyć różnicę w zależności od typu danych użytego w tej samej zmiennej.

  • Zadeklaruj zmienną jako typ danych liczb całkowitych i przypisz do niej zmienną wartość. Podczas drukowania wartości zobacz, jak będzie ją wyświetlać.

Kod:

 Subwoofer prywatny addconvert () Dim b Jako Integer End Sub 

  • Zmienna jest przypisywana do deklarowanej zmiennej całkowitej. 785.456923785475 jest przypisany do zmiennej b, która jest zmienną całkowitą.

Kod:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 End Sub 

  • Za pomocą okna komunikatu wydrukuj przypisaną wartość.

Kod:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 MsgBox b End Sub 

Zobacz, jak wyniki pokazują różnicę podczas drukowania wartości.

Przypisałeś liczbę o wartościach zmiennoprzecinkowych, ale dane wyjściowe pokazują tylko liczbę całkowitą podanej liczby. W tym przypadku zmienna „b” jest zadeklarowana jako liczba całkowita, więc nie przyjmie wartości zmiennoprzecinkowej. Część całkowita wartości dziesiętnej jest pobierana i unika się części dziesiętnej. Ponieważ zmienna jest zadeklarowana jako liczba całkowita, liczba zostanie zaokrąglona do najbliższej liczby całkowitej.

Aby wydrukować dane w obecnej postaci, zmień zmienny typ danych na podwójny Zamiast typu danych całkowitych.

  • Dokonując prostej zmiany w tym samym kodzie, możesz wydrukować podaną liczbę taką, jaka jest. Zadeklaruj zmienną jako podwójny typ danych.

Kod:

 Subwoofer prywatny addconvert () Dim b Jako subwoofer Double End 

  • Liczba jako podwójna jest przypisana do deklarowanej zmiennej podwójnej. 785.456923785475 jest przypisany do zmiennej b, która jest podwójna w typie danych.

Kod:

 Private Sub addconvert () Dim b As Double b = 785, 456923785475 Sub Sub 

  • Za pomocą okna komunikatu wydrukuj przypisaną wartość.

Kod:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 MsgBox b End Sub 

Zobacz, jak wyniki pokazują różnicę podczas drukowania wartości. Przypisałeś numer zmiennoprzecinkowy.

Porównaj oba wyjścia, aby zobaczyć różnicę. Nawet dane i zmienne są takie same, zmiana typu danych zmieniła cały wynik. Na tej podstawie uzyskasz znaczenie typu danych i jego wpływu na cały program. To jest powód używania innego rodzaju funkcji konwersji z VBA.

Przykłady funkcji CDBL w Excel VBA

Poniżej znajdują się różne przykłady konwersji VBA na podwójne.

Możesz pobrać ten szablon Excel VBA CDBL tutaj - Szablon Excel VBA CDBL

Przykład 1: Konwertuj typ danych ciągu na podwojony

Zobaczmy, jak przebiega konwersja danych i jakie zmiany można wprowadzić za pomocą funkcji konwersji danych. Ciąg jest typem danych, który akceptuje wszystkie typy danych. Zmienna jest zdefiniowana jako ciąg i przypisuje jej liczbę.

  • Użyj funkcji prywatnej, aby sprawdzić zmiany w innym typie danych, utwórz funkcję przekonwertowaną na prywatną i zadeklaruj zmienną „a” jako ciąg.

Kod:

 Private Sub convert () Dim a As String End Sub 

  • Aby wykonać konwersję, potrzebujesz zmiennej. Ponieważ zmienna konwertuje się na podwójny typ danych, zadeklaruj ją jako podwójny typ danych. Po konwersji danych wartość zostanie przypisana do tej zmiennej.

Kod:

 Private Sub convert () Dim a As String Dim convert As Double End Sub 

  • Przypisz zmienną 1234.5645879 do zmiennej łańcuchowej. Typ danych ciągu zaakceptuje liczby o wartościach zmiennoprzecinkowych.

Kod:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 End Sub 

  • Teraz użyj funkcji VBA CDBL, aby przekonwertować wartość na podwojoną. Możesz użyć zmiennej „convert”, która jest zadeklarowana jako podwójny typ danych. Przekaż zmienną „a” jako wyrażenie do funkcji CDBL.

Kod:

 Subwoofer prywatny () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) End Sub 

  • Aby wyświetlić wartość wyjściową, możesz wydrukować za pomocą okna komunikatu.

Kod:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) MsgBox convert End Sub 

  • Uruchom ten kod, naciskając klawisz F5 bezpośrednio lub ręcznie, naciskając przycisk Uruchom na lewym górnym panelu.

  • Wartość przypisana do zmiennej „a” zostanie wydrukowana tak samo jak zmiennoprzecinkowe i wartość całkowita. Wartość jest konwertowana na podwójny typ danych i to samo jest drukowane jak poniżej.

Przykład # 2 - Konwersja i dodawanie dwóch liczb

Masz dwie zmienne do dodania i znalezienia sumy w ramach obliczeń. Obie są liczbami zmiennoprzecinkowymi z wartościami dziesiętnymi. Ale jedna zmienna jest zadeklarowana jako liczba całkowita, a druga jako podwójna.

  • Utwórz funkcję dodawania, aby znaleźć sumę dwóch liczb. Dwie zmienne A1 i A2 są zadeklarowane odpowiednio jako liczba całkowita i podwójna.

Kod:

 Sub prywatny dodaj () Dim A1 As Integer Dim A2 As Double End Sub 

  • Przypisz dwie liczby do odpowiednich zmiennych. Obie są dwiema liczbami zmiennoprzecinkowymi z wartościami dziesiętnymi.

Kod:

 Sub prywatny dodaj () Dim A1 jako liczba całkowita Dim A2 jako Double A1 = 1256, 45 A2 = 1234, 58 End Sub 

  • Zadeklaruj sumę trzeciej zmiennej jako podwójny typ danych, ponieważ wynikiem będzie podwójna wartość.

Kod:

 Prywatny Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 End Sub 

  • Dodaj podane dwie liczby i umieść wynik w sumie zmiennych.

Kod:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256, 45 A2 = 1234.58 suma = A1 + A2 End Sub 

  • Użycie okna komunikatu pozwala wydrukować wydruk.

Kod:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256, 45 A2 = 1234, 58 suma = A1 + A2 MsgBox suma End Sub 

  • Uruchom ten kod, naciskając klawisz F5 bezpośrednio lub ręcznie, naciskając przycisk Uruchom na lewym górnym panelu.

Oczekiwany wynik to 2491.03 i podczas sprawdzania wyniku można zobaczyć różnicę w wyniku. Niedopasowanie w wyniku nastąpiło z powodu wartości przyjętej przez zmienną A1. Ponieważ jest to zmienna całkowita, nie przyjmie części dziesiętnej liczby, tylko część całkowita jest brana podczas przetwarzania sumy.

  • Aby tego uniknąć, zamień liczbę A1 na podwójną i przypisz przeliczoną liczbę do innej zmiennej A3.

Kod:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256, 45 A2 = 1234.58 A3 = CDbl (1256, 45) suma = A1 + A2 MsgBox suma Sub Sub 

  • Teraz dodaj skonwertowaną zmienną z A2 zamiast A1. Ponieważ liczba jest konwertowana na podwójny typ danych, wartość z liczbami zmiennymi zostanie zaakceptowana i dodana z A2.

Kod:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256, 45 A2 = 1234, 58 A3 = CDbl (1256, 45) suma = A2 + A3 MsgBox suma Sub Sub 

  • Uruchom ten kod, naciskając klawisz F5 bezpośrednio lub ręcznie, naciskając przycisk Uruchom na lewym górnym panelu.

Wartość sumy została poprawiona i dała oczekiwany wynik.

Rzeczy do zapamiętania

  • Funkcja VBA CDBL nie przyjmuje wartości, a nie liczb.
  • Błąd niedopasowania typu zostanie wygenerowany, jeśli wartość funkcji VBA CDBL zostanie podana.
  • Podwójny typ danych wyświetla 13 cyfr po przecinku.
  • Funkcja VBA CDBL pomaga uzyskać właściwy wynik podczas przetwarzania liczb w programie Excel.

Polecane artykuły

Jest to przewodnik po funkcji VBA CDBL. Tutaj omawiamy, jak używać funkcji VBA CDBL do konwersji wartości na typ danych Double w Excelu, a także kilka praktycznych przykładów i szablonu programu Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Komentarz do bloku VBA
  2. Funkcja SUMPRODUCT w programie Excel
  3. Nazwany zakres VBA
  4. Funkcja ŁĄCZENIA w programie Excel

Kategoria: