In BASIC ließen sich Werte schon immer an sogenannte „Variablen“ binden. Dies erinnert zunächst an Konstanten.
Zur Zuweisung eines Wertes an eine Variable wird die Let-Anweisung verwendet. Das Wort "Let" ist ein Schlüsselwort. Die Verwendung des Wortes "Let" am Anfang einer Anweisung folgt dem leicht verständlichen alten Schema, nach dem jede Anweisung in BASIC mit einem Schlüsselwort beginnt, welches den Typ der Anweisung festlegt.
Direktbereich
Let a = 1
? a + a 2
Eine Variable ist aber nur auf den ersten Blick ein Name für einen Wert. Tatsächlich handelt es sich bei einer Variablen um einen Namen für einen Wertspeicher. Der Unterschied wird erkennbar, wenn die Zuweisung eines Wertes an eine Variable wiederholt wird.
Direktbereich
Let a = 2
? a + a 4
Es ist problemlos möglich, einer Variablen einen neuen Wert zuzuweisen, während eine Konstanten innerhalb ihres Gültigkeitsbereichs und ihrer Lebenszeit für einen bestimmten Wert steht.
Bei der Zuweisung eines neuen Wertes an eine Variable wird aber nicht etwa der Variablenname an einen neuen Wert gebunden. Der Variablenname ist vielmehr immer an denselben Speicherplatz gebunden. Durch die Zuweisung wird dann während der Ausführung einer Anweisung ein neuer Wert in diesen Speicherplatz der Variablen geschrieben.
Man hat zwischen Name und Wert sozusagen noch ein Umleitung gefügt: einen Speicher, der dann erst zur Laufzeit einen bestimmten Wert enthalten kann. Dieser Wert wird dann im Programm
Eine Variable ist ein benannter Speicherplatz.
Eine Konstante ist ein benannter Wert.
Bei der Zuweisung mit einer Variablen auf der linken Seite, wir der Wert der rechen Seite in die Variable geschrieben.
Bei der Verwendung einer Variablen oder Konstanten als Ausdruck wird der Wert dieses Ausdrucks durch Lesen aus der Variablen ermittelt.
Variablen im Direktbereich
Für vorübergehend benötigte Rechnungen im Direktfenster erlaubt VBA die Verwendung von Konstanten nicht. Daher muß man hier Variablen verwenden, auch wenn Konstanten oft besser geeignet wären. Jedenfalls läßt sich das Direktfenster von VBA so aber also komfortabler Taschenrechner verwenden.
Direktbereich
Let speicher = 2230272
Let speicher_in_kbyte = speicher / 1024
? speicher_in_kbyte 2178
Durch die Verwendung der Variablennamen wird es möglich, im Verlauf einer längeren Rechnung, die Ergebnisse einer früheren Berechnung wiederzuverwenden, wenn sie in einer Variablen gespeichert wurden.
Variablendeklarationen
Die gezeigte Verwendung von Variablen hat aber einen Mangel: Es ist nicht klar, Werte welchen Typs eine Variable aufnehmen soll. Dadurch ist es dem Interpretierer nicht möglich, den Programmierer auf seinen Fehler hinzuweisen, wenn dieser einen Wert in einer Variablen speichern will und die Variable aber gar nicht für Werte dieses Typs gedacht ist. Auch ist die Verarbeitung von Variablen mit einem bestimmten Typ manchmal schneller möglich, als bei Variablen ohne weiter eingegrenzten Typ.
Durch eine Variablendefinition wird einem Variablennamen ein Datentyp zugeordnet. Aus historischen Gründen wird eine Variablendefinition auch als „Dimensionierung“ bezeichnet und mit dem Schlüsselwort "Dim" eingeleitet.
Muster einer Variablendefinition
Dim 〈Variablenname〉 As 〈Datentyp〉
Beispiele von Variablendefinitionen
Dim Warenwert As Double
Dim Vorname As String
Die Deklaration einer Variablen ist allerdings nicht im Direktbereich möglich. Sie muß immer in einem Modul enthalten sein.
Eine Variablendeklaration ist eine Anweisung.
Variablen werden häufig in einem Unterprogramm oder in einer Funktion definiert.
Modul1
Sub Main()
Dim I As Integer ' Anfang des Gültigkeitsbereichs (Scope) von I
Let I = 22
Debug.Print I
End Sub ' Ende des Gültigkeitsbereichs von I
Protokoll
22
Der Typ einer Variablen begrenzt ihren Wertebereich: Der Wert einer Variablen muß immer im Typ der Variablen enthalten sein.
Die Festlegung eines spezielleren Datentyps für eine Variable verbessert die Lesbarkeit eines Programms, da sie die Absicht des Programmierers erklärt. Sie hilft dabei, automatisch Fehler zu finden, wie sie etwa die Zuweisung von Werten eines Typs, der nicht zum Datentyp der Variablen paßt, darstellen würde. Außerdem sind Zugriffe auf Variablen mit einem speziellen Typ meistens schneller.
Es empfiehlt sich also, Variablen immer mit dem speziellsten in Frage kommenden Typ zu deklarieren.
Option Explicit
Das klassische BASIC verlangt die Vereinbarung eines Variablentyps nicht. Daher gilt es nicht als Fehler, wenn eine Variable ohne vorherige Typvereinbarung einfach verwendet wird.
Modul1
Sub Main() Let v = 1 Let v = 2 Debug.Print v End Sub
Protokoll
2
Die meisten Programmierer bevorzugen es heute, Variablentypen zu vereinbaren und wünschen deshalb eine Fehlermeldung für den Fall, daß solch eine Vereinbarung fehlt. Der Vers »Option Explicit« am Anfang eines Moduls verlangt dies.
Modul1
Option Explicit
Sub Main() Dim v As Integer Let v = 1 Let v = 2 Debug.Print v End Sub
Protokoll
2
Variablenfenster
Im Menü »Ansicht« kann der Eintrag »Lokalfenster« angewählt werden, um in einer Baumansicht die Variablen zu erforschen. Sie erscheinen dort während ihrer Lebensdauer. Daher sieht man sie in der Regel, wenn Unterprogramm im Einzelschrittmodus ausgeführt werden. In dem Fenster erscheint dann der Typ und der Wert der Variablen.
Anmerkungen
Zuweisungen ohne das Schlüsselwort "Let"
Let kann man auch weglassen.
Übungsaufgaben
Im folgenden ist mit „Anweisungsfolge“ eine Folge von beliebig vielen (0, 1, 2, usw.) Anweisungen gemeint.
/ Übungsaufgabe
Schreiben Sie eine Anweisungsfolge , die den Wert einer Integer-Variablen »x« um »7« erhöht.
/ Übungsaufgabe
Schreiben Sie eine Anweisungsfolge, die den Wert einer String-Variablen »s« mit dem Wert einer String-Variablen »t« vertauscht.
Mid$ *
Modul1
Sub Main()
Dim a$
Let a$ = "abc"
Mid$(a$, 1, 1) = "2" ' hier ist kein Let möglich
Debug.Print a$
End Sub
Protokoll
2bc
Man muß hierin wahrscheinlich eine eigene Form von Anweisung sehen, die „Mid-Anweisung“!
Geschwindigkeitsrat für fortgeschrittene Leser * Die Veränderung der Länge einer Zeichenfolgenvariablen kostet viel Zeit. Es kann schneller sein, darauf zu achten, daß eine Variable immer 1000 Zeichen enthält und dann die anzahl der davon zu verwendenden Zeichen in einer numerischen Variablen festzuhalten. Die Zuweisung an »Mid$« kann dann verwendet werden, um einzelne Zeichen in einem String zu verändern, ohne dessen Länge zu verändern.
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 stefanram720463 stefan_ram:720463
Prozedurvariablen in VBA
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,,
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, slrprd720463, slrprddef720463, 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_prozedurvariablen