Typkonvertierungsfunktionen (VBA) (2024)

  • Artikel

Jede Funktion wandelt einen Ausdruck in einen bestimmten Datentyp um.

Syntax

  • CBool(expression)
  • CByte(expression)
  • CCur(expression)
  • CDate(expression)
  • CDbl(expression)
  • CDec(expression)
  • CInt(expression)
  • CLng(expression)
  • CLngLng(expression) Nur auf 64-Bit-Plattformen gültig.
  • CLngPtr(expression)
  • CSng(expression)
  • CStr(expression)
  • CVar(expression)

Das erforderliche expression-Argument ist ein beliebiger Zeichenfolgenausdruck oder ein numerischer Ausdruck.

Rückgabetypen

Der Funktionsname bestimmt den Rückgabetyp, wie im Folgenden dargestellt:

FunktionRückgabetypBereich für expression-Argument
CBoolBooleanEin beliebige gültige Zeichenfolge oder ein numerischer Ausdruck.
CByteByte0 bis 255
CCurCurrency-922.337.203.685.477,5808 bis 922.337.203.685.477,5807
CDateDateJeder gültige Datumsausdruck.
CDblDouble-1,79769313486231E308 bis -4,94065645841247E-324 für negative Werte; 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte.
CDecDecimal79.228.162.514.264.337.593.543.950.335 für unskalierte Zahlen, d. h. Zahlen ohne Dezimalstellen. Für Zahlen mit 28 Dezimalstellen ist der Bereich 7,9228162514264337593543950335. Die kleinstmögliche Zahl ungleich NULL ist 0,0000000000000000000000000001.
CIntInteger-32.768 bis 32.767; Brüche werden gerundet.
CLngLong-2.147.483.648 bis 2.147.483.647; Brüche werden gerundet.
CLngLngLongLong-9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807; Brüche werden gerundet. (Nur auf 64-Bit-Plattformen gültig.)
CLngPtrLongPtr-2.147.483.648 bis 2.147.483.647 auf 32-Bit-Systemen -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 auf 64-Bit-Systemen; Brüche werden für 32-Bit- und 64-Bit-Systeme gerundet.
CSngSingle-3,402823E38 bis -1,401298E-45 für negative Werte; 1.401298E-45 bis 3.402823E38 für positive Werte.
CStrStringRückgaben für CStr sind vom expression-Argument abhängig. Informationen finden Sie in der folgenden Tabelle.
CVarVariantGleicher Bereich wie Double für numerische Werte. Gleicher Bereich wie String für nicht numerische Werte.

Hinweise

Wenn der an die Funktion übergebene Ausdruck außerhalb des Bereichs des Datentyps liegt, in den er konvertiert werden soll, tritt ein Fehler auf.

Hinweis

Konvertierungsfunktionen müssen verwendet werden, um LongLong (einschließlich LongPtr auf 64-Bit-Plattformen) kleineren ganzzahligen Typen zuzuweisen. Implizite Umwandlungen von LongLong -Ausdrücken auf kleinere Integrale sind nicht zulässig.

Im Allgemeinen können Sie Ihren Code mithilfe der Funktionen zur Umwandlung des Datentyps so dokumentieren, dass angezeigt wird, dass das Ergebnis eines Vorgangs als bestimmter Datentyp und nicht als Standard-Datentyp angezeigt werden soll. Verwenden Sie beispielsweise CCur, um Währungsarithmetik zu erzwingen, wenn normalerweise Arithmetik mit einfacher Genauigkeit, doppelter Genauigkeit oder einer ganzen Zahl auftreten würde.

Sie sollten die Typkonvertierungsfunktionen anstelle von Val verwenden, um international offene Konvertierungen von einem Datentyp in einen anderen bereitzustellen. Wenn Sie beispielsweise CCur verwenden, werden unterschiedliche Dezimaltrennzeichen, unterschiedliche Tausendertrennzeichen und verschiedene Währungsoptionen je nach der Gebietsschemaeinstellung Ihres Computers korrekt erkannt.

Wann ist der Bruchteil genau 0,5 beträgt, wird dieser von CInt und CLng immer auf die nächste gerade Zahl gerundet. Beispielsweise wird 0,5 auf 0 und 1,5 auf 2 gerundet. CInt und CLng unterscheiden sich von den Fix- und Int-Funktionen, die den Bruchteil einer Zahl nicht runden, sondern abschneiden. Außerdem geben Fix und Int immer einen Wert desselben Typs zurück, der auch übergeben wurde.

Verwenden Sie die IsDate-Funktion, um zu ermitteln, ob date in ein Datum oder eine Uhrzeit konvertiert werden kann. CDate erkennt Datumsliterale und Uhrzeitliterale sowie einige Zahlen, die in den Bereich zulässiger Datumsangaben fallen. Beim Konvertieren einer Zahl in ein Datum, wird der ganzzahlige Teil in ein Datum umgewandelt. Bruchteile der Zahl werden in eine Uhrzeit umgewandelt, beginnend mit Mitternacht.

CDate erkennt Datumsformate entsprechend den Gebietsschemaeinstellungen Ihres Systems. Die richtige Reihenfolge von Tag, Monat und Jahr kann möglicherweise nicht festgestellt werden, wenn sie in einem Format eingegeben wird, das nicht einer der erkannten Datumseinstellungen entspricht. Außerdem wird ein langes Datumsformat nicht erkannt, wenn es auch die Zeichenfolge für den Wochentag enthält.

Eine CVDate-Funktion wird auch zum Zwecke der Kompatibilität mit früheren Versionen von Visual Basic bereitgestellt. Die Syntax der CVDate-Funktion ist identisch mit der CDate-Funktion; CVDate gibt jedoch Variant zurück, dessen Untertyp Date anstelle eines tatsächlichen Date-Typs ist. Da es nun einen systeminternen Date-Typ gibt, ist CVDate nicht erforderlich. Derselbe Effekt kann erzielt werden, indem ein Ausdruck in Date konvertiert und diesem dann Variant zugewiesen wird. Diese Vorgehensweise entspricht der Umwandlung aller anderen systeminternen Typen in ihre entsprechenden Variant-Untertypen.

Hinweis

Die CDec -Funktion gibt keinen einzelnen Datentyp zurück; stattdessen gibt sie stets eine Variante zurück, deren Wert in einen Decimal -Subtyp umgewandelt wurde.

Rückgaben für CStr hängen vom Ausdrucksargument ab.

Bei Ausdruckgibt CStr zurück:
BooleanEine Zeichenfolge mit True oder False.
DateEine Zeichenfolge mit einem Datum im kurzen Datumsformat Ihres Systems.
EmptyEine Zeichenfolge der Länge Null ("").
FehlerEine Zeichenfolge, die das Wort Fehler gefolgt von der Fehlernummer enthält.
NullEinen Laufzeitfehler.
Andere numerische ZeichenfolgeEine Zeichenfolge, die die Zahl enthält.

Beispiel zur CBool-Funktion

Dieses Beispiel verwendet die CBool-Funktion, um einen Ausdruck in Boolean zu konvertieren. Wenn der Ausdruck in einen Wert ungleich NULL ausgewertet wird, gibt CBooltrue, andernfalls wird false zurückgegeben.

Dim A, B, Check A = 5: B = 5 ' Initialize variables. Check = CBool(A = B) ' Check contains True. A = 0 ' Define variable. Check = CBool(A) ' Check contains False. 

Beispiel zur CByte-Funktion

Dieses Beispiel verwendet die CByte-Funktion, um einen Ausdruck in Byte zu konvertieren.

Dim MyDouble, MyByte MyDouble = 125.5678 ' MyDouble is a Double. MyByte = CByte(MyDouble) ' MyByte contains 126. 

Beispiel zur CCur-Funktion

Dieses Beispiel verwendet die CCur-Funktion, um einen Ausdruck in Currency zu konvertieren.

Dim MyDouble, MyCurr MyDouble = 543.214588 ' MyDouble is a Double. MyCurr = CCur(MyDouble * 2) ' Convert result of MyDouble * 2 ' (1086.429176) to a ' Currency (1086.4292). 

Beispiel zur CDate-Funktion

Dieses Beispiel verwendet die CDate-Funktion, um einen Ausdruck in Date zu konvertieren. Im Allgemeinen wird das Hartcodieren von Datums- und Uhrzeitangaben als Zeichenfolgen (wie in diesem Beispiel dargestellt) nicht empfohlen. Verwenden Sie stattdessen Datums- und Uhrzeitliterale, z. B. #2/12/1969# und #4:45:23 PM#.

Dim MyDate, MyShortDate, MyTime, MyShortTime MyDate = "February 12, 1969" ' Define date. MyShortDate = CDate(MyDate) ' Convert to Date data type. MyTime = "4:35:47 PM" ' Define time. MyShortTime = CDate(MyTime) ' Convert to Date data type. 

Beispiel zur CDbl-Funktion

Dieses Beispiel verwendet die CDbl-Funktion, um einen Ausdruck in Double zu konvertieren.

Dim MyCurr, MyDouble MyCurr = CCur(234.456784) ' MyCurr is a Currency. MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' Convert result to a Double. 

Beispiel zur CDec-Funktion

Dieses Beispiel verwendet die CDec -Funktion, um einen numerischen Wert in Decimal zu konvertieren.

Dim MyDecimal, MyCurr MyCurr = 10000000.0587 ' MyCurr is a Currency. MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal. 

Beispiel zur CInt-Funktion

Dieses Beispiel verwendet die CInt-Funktion, um einen numerischen Wert in Integer zu konvertieren.

Dim MyDouble, MyInt MyDouble = 2345.5678 ' MyDouble is a Double. MyInt = CInt(MyDouble) ' MyInt contains 2346. 

Beispiel zur CLng-Funktion

Dieses Beispiel verwendet die CLng-Funktion, um einen numerischen Wert in Long zu konvertieren.

Dim MyVal1, MyVal2, MyLong1, MyLong2 MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles. MyLong1 = CLng(MyVal1) ' MyLong1 contains 25427. MyLong2 = CLng(MyVal2) ' MyLong2 contains 25428. 

Beispiel zur CSng-Funktion

Dieses Beispiel verwendet die CSng-Funktion, um einen numerischen Wert in Single zu konvertieren.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2 ' MyDouble1, MyDouble2 are Doubles. MyDouble1 = 75.3421115: MyDouble2 = 75.3421555 MySingle1 = CSng(MyDouble1) ' MySingle1 contains 75.34211. MySingle2 = CSng(MyDouble2) ' MySingle2 contains 75.34216. 

Beispiel zur CStr-Funktion

Dieses Beispiel verwendet die CStr -Funktion, um einen numerischen Wert in String zu konvertieren.

Dim MyDouble, MyString MyDouble = 437.324 ' MyDouble is a Double. MyString = CStr(MyDouble) ' MyString contains "437.324". 

Beispiel zur CVar-Funktion

Dieses Beispiel verwendet die CVar-Funktion, um einen Ausdruck in Variant zu konvertieren.

Dim MyInt, MyVar MyInt = 4534 ' MyInt is an Integer. MyVar = CVar(MyInt & 000) ' MyVar contains the string ' 4534000. 

Siehe auch

  • Zusammenfassung der Datentypen
  • Glossar zum Visual Basic-Editor (VBE)
  • Konzeptuelle Visual Basic-Themen

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.

Typkonvertierungsfunktionen (VBA) (2024)
Top Articles
Cornerstone Church San Antonio Live Stream
How Old Is Kay Flock: A Revelation Unveiled
Artem The Gambler
Matgyn
Belle Meade Barbershop | Uncle Classic Barbershop | Nashville Barbers
Vaya Timeclock
15 Types of Pancake Recipes from Across the Globe | EUROSPAR NI
Vanadium Conan Exiles
What is international trade and explain its types?
Carter Joseph Hopf
Mawal Gameroom Download
Regular Clear vs Low Iron Glass for Shower Doors
83600 Block Of 11Th Street East Palmdale Ca
Athens Bucket List: 20 Best Things to Do in Athens, Greece
Hood County Buy Sell And Trade
Top tips for getting around Buenos Aires
Games Like Mythic Manor
Enterprise Car Sales Jacksonville Used Cars
Jenn Pellegrino Photos
Sonic Fan Games Hq
Puretalkusa.com/Amac
Water Trends Inferno Pool Cleaner
Bella Bodhi [Model] - Bio, Height, Body Stats, Family, Career and Net Worth 
Gina Wilson All Things Algebra Unit 2 Homework 8
Nesb Routing Number
Asteroid City Showtimes Near Violet Crown Charlottesville
Elbert County Swap Shop
Plost Dental
Star Wars Armada Wikia
Aes Salt Lake City Showdown
Skepticalpickle Leak
Funky Town Gore Cartel Video
Page 2383 – Christianity Today
Rlcraft Toolbelt
Teenbeautyfitness
How Much Is Mink V3
Bbc Gahuzamiryango Live
Geology - Grand Canyon National Park (U.S. National Park Service)
Tirage Rapid Georgia
Pensacola Cars Craigslist
PruittHealth hiring Certified Nursing Assistant - Third Shift in Augusta, GA | LinkedIn
Thelemagick Library - The New Comment to Liber AL vel Legis
Craigslist En Brownsville Texas
The Largest Banks - ​​How to Transfer Money With Only Card Number and CVV (2024)
Ohio Road Construction Map
Haunted Mansion Showtimes Near Millstone 14
Star Sessions Snapcamz
Sams La Habra Gas Price
Prologistix Ein Number
David Turner Evangelist Net Worth
Rise Meadville Reviews
Inloggen bij AH Sam - E-Overheid
Latest Posts
Article information

Author: Golda Nolan II

Last Updated:

Views: 5381

Rating: 4.8 / 5 (78 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Golda Nolan II

Birthday: 1998-05-14

Address: Suite 369 9754 Roberts Pines, West Benitaburgh, NM 69180-7958

Phone: +522993866487

Job: Sales Executive

Hobby: Worldbuilding, Shopping, Quilting, Cooking, Homebrewing, Leather crafting, Pet

Introduction: My name is Golda Nolan II, I am a thoughtful, clever, cute, jolly, brave, powerful, splendid person who loves writing and wants to share my knowledge and understanding with you.