Einführung in die Arbeit mit der VBA-Entwicklungsumgebung im Rahmen der Lehre des Programmierens. (VBA, IDE, VBA-Entwicklungsumgebung), Lektion, Seite 720460
https://www.purl.org/stefan_ram/pub/vba_entwicklungsumgebung_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
VBA-Kurs

Varianten in VBA 

Das Wort “variant ” kann im Englischen ein Hauptwort mit der Bedeutung „Variante“ sein. Eine mögliche englische Aussprache ist /'vɛɚ i ənt/. (Die vier vorkommenden Vokale sind dabei wie in “else ”, “err ”, “east ” und “done ”), die Aussprache ist nicht wie bei variety /vəˈraɪəti/, wo die zweite Silbe betont wird!

Der Metatyp Variant besagt, daß der Typ eines Ausdrucks (wie Integer, Double oder String) durch den Quelltext nicht festgelegt ist. Er kann nur zur Laufzeit ermittelt werden und sich auch bei verschiedenen Auswertungen desselben Ausdrucks ändern.

Da die Verwendung dieses Metatyps die Programmer weniger robust macht und verlangsamt, sollte er vermieden werden und nur verwendet werden, wenn dies unbedingt nötig ist.

Beispiel:

Wir definieren eine Variable vom Typ Variant und schreiben dann einmal eine Zahl hinein und später eine Zeichenfolge.

Code-Bereich

Option Explicit

Sub Main()

Dim A As Variant

Debug.Print A '

Debug.Print VBA.Information.TypeName$(A) ' Empty

Debug.Print VBA.Information.VarType(A) ' 0

Debug.Print VBA.VbVarType.vbEmpty ' 0

Debug.Print

A = 2.3

Debug.Print A ' 2.3

Debug.Print VBA.Information.TypeName$(A) ' Double

Debug.Print VBA.Information.VarType(A) ' 5

Debug.Print VBA.VbVarType.vbDouble ' 5

Debug.Print

A = "abc"

Debug.Print A ' abc

Debug.Print VBA.Information.TypeName$(A) ' String

Debug.Print VBA.Information.VarType(A) ' 8

Debug.Print VBA.VbVarType.vbString ' 8

End Sub

Direktbereich

Empty

0

0

2.3

Double

5

5

abc

String

8

8

Wenn der Typ eines Variant-Ausdrucks gerade beispielsweise Integer ist, so nennt man diesen Typ auch „Variant/Integer“.

In eine Variant-Variable kann praktisch alles hineingeschrieben werden.

Der konkrete Typ kann bei einem haltenden Programm auch zur Laufzeit im Lokal-Fenster gesehen werden.

Deklarationen ohne Typangabe

Wird kein Typ für eine Variable ausdrücklich vereinbart und auch kein Typkennzeichen verwendet, so erhält die Variable den umfassenden allgemeinsten Typ »Variant«, der praktisch für jeden möglichen Typ stehen kann.

const a = 12

dim a

Variablen ohne Deklarationen

Wenn Option Explicit nicht verwendet wird, dann können Variablen auch ohne Deklaration verwendet werden. Eine nicht deklarierte Variablen hat den Typ Variant.

Die Deklaration von Variablen erlaubt es, es zu erkennen, wenn der Name der Variablen bei einer späteren Verwendung falsch geschrieben wird.

Die Verwendung eines spezielleren Typs an Stelle von Variant, erlaubt es auch Typfehler bei der späteren Verwendung zu erkennen, wie beispielsweise die Zuweisung einer Zeichenfolge an eine numerische Variable.

Definition mehrerer Variablen mit einem Dim

Die Deklaration mehrerer Variablen mit einer Anweisung ist erlaubt, aber fehlerträchtig.

Innerhalb eines "Subs" oder einer "Function"
Dim a As Integer, b As String

Im folgenden hat »a« den Typ »Variant« (wie »a1«) und nicht »Integer« (wie »a2«)!

Innerhalb eines "Subs"
Dim a, b As Integer
Dim a1 As Variant, b1 As Integer
Dim a2 As Integer, b2 As Integer

Zeichenfolgenfunktionen

Während die $-Funktionen (Funktionen mit einem »$« am Ende des Namens) einen String ergeben ergeben die gleichnamigen Funktionen ohne $ einen Variant-String.

Da die Verarbeitung von Variants langsam und fehlerträchtig ist, sollte sie nur auf die Fälle beschränkt werden, in denen sie unbedingt nötig ist.

Dezimalarithmetik

VBA erlaubt eine genaue Dezimalarithmetik.

Direktbereich

? 0.1 + 0.2 - 0.3

2.77555756156289E-17

? CDEC( "0.1" )+ CDEC( "0.2" )- CDEC( "0.3" )

0

(Bei deutschen Regionaleinstellung ist der Dezimalpunkt oben durch ein Dezimalkomma zu ersetzen.)

»CDEC« ergibt genaue Dezimalwerte. Diese können nur in Variant-Variablen gespeichert werden.

Parameter ohne Typ

Wenn in der Dokumentation einer Prozedur kein Parameter- oder ein Rückgabetyp angegeben ist, so ist der Typ des Parameters beziehungsweise der Rückgabe in der Regel »Variant«.

»VBA.Strings.Len« (Proklamation)
Function Len(Expression)
Element von VBA.Strings

Hinweis zur Nutzung von Variant-Daten

Die Nutzung von Variant-Daten ist in der Regel langsamer und fehlerträchtiger als die Nutzung von Daten eines spezielleren Typs. Deswegen sollten Variant-Werte und Variant-Variablen nur verwendet werden, wenn dies nötig ist. Bei Funktionen, die Zeichenfolgen ergeben, sollte der Name mit einem Dollarzeichen »$« am Ende des Namens bevorzugt werden, weil dieser eine Zeichenfolge gleich mit dem richtigen Typ zurückgibt, und nicht als Variant-Wert.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram720460 stefan_ram:720460 VBA, IDE, VBA-Entwicklungsumgebung source, source code,sourcecode, Programmier sprache VBA, VBA Programm VBA Sprache VBA Die Programmiersprache VBA Visual Basic for Applications, VisualBasic for Applications, Visual Basic for Aplications, VisualBasic for Aplications, VBA, V.B.A., V B A,, Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd720460, slrprddef720460, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/vba_entwicklungsumgebung_de