Anhang: Unterschied zwischen den Versionen

Aus VBA-wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 14: Zeile 14:


Die Benennung von VBA-Elementen (Variablen, Prozeduren, Module, Projekte) folgt diesen Regeln:
Die Benennung von VBA-Elementen (Variablen, Prozeduren, Module, Projekte) folgt diesen Regeln:
* Erlaubte Zeichen:
 
* Erlaubte Zeichen:  
** Beliebige Buchstaben, Ziffern und '_'
** Beliebige Buchstaben, Ziffern und '_'
** Auch Umlaute und Accents etc. sind erlaubt, werden jedoch nicht empfohlen!
** Auch Umlaute und Accents etc. sind erlaubt, werden jedoch nicht empfohlen!
Zeile 20: Zeile 21:
* Erlaubte Länge:
* Erlaubte Länge:
** Generell: 255
** Generell: 255
** Name eines Moduls: 31 Für die Benennung von Variablen empfehlen wir die Leszynski Naming Convention (LNC) (siehe [https://en.wikipedia.org/wiki/Leszynski_naming_convention Wikipedia]). '''Datentypen'''
** Name eines Moduls: 31
{| class="wikitable"  
 
Für die Benennung von Variablen empfehlen wir die Leszynski Naming Convention (LNC) (siehe [https://en.wikipedia.org/wiki/Leszynski_naming_convention Wikipedia]).
 
 
'''Datentypen'''
{| class="wikitable"
|-
|-
! Präfix
! Präfix
! Datentyp
! Datentyp
|-  
|-
| bln
| bln
| Boolescher Wert
| Boolescher Wert
|-  
|-
| bte
| bte
| Binärdaten (Byte)
| Binärdaten (Byte)
|-  
|-
| col
| col
| Auflistung (Collection)
| Auflistung (Collection)
|-  
|-
| cur
| cur
| Währung (Currency)
| Währung (Currency)
|-  
|-
| dbl
| dbl
| Double
| Double
|-  
|-
| dte
| dte
| Datum
| Datum
|-  
|-
| enm
| enm
| Enumerator
| Enumerator
|-  
|-
| int
| int
| Integer
| Integer
|-  
|-
| obj
| obj
| Generisches Objekt
| Generisches Objekt
|-  
|-
| sng
| sng
| Single
| Single
|-  
|-
| str
| str
| Zeichenkette (String)
| Zeichenkette (String)
|-
|-
| tpe
| tpe
| Benutzerdefinierter Datentyp (Type)  
| Benutzerdefinierter Datentyp (Type)
|}
|}
'''VBA-Objekte'''
 
{| class="wikitable"  
 
'''VBA-Objekte'''
{| class="wikitable"
|-
|-
! Präfix
! Präfix
! Objekt
! Objekt
|-  
|-
| cls
| cls
| Klasse
| Klasse
|-  
|-
| frm
| frm
| UserForm (Dialog)
| UserForm (Dialog)
|-
|-
| mod
| mod
| Modul  
| Modul
|}
|}
'''Controls der UserForm'''
 
{| class="wikitable"  
 
'''Controls der UserForm'''
{| class="wikitable"
|-
|-
! Präfix
! Präfix
! Objekt
! Objekt
|-  
|-
| chk
| chk
| Kontrollkästchen (Checkbox)
| Kontrollkästchen (Checkbox)
|-  
|-
| cbo
| cbo
| Kombinationsfeld (ComboBox)
| Kombinationsfeld (ComboBox)
|-  
|-
| cmb
| cmb
| Befehlsschaltfläche (CommandButton)
| Befehlsschaltfläche (CommandButton)
|-  
|-
| lbl
| lbl
| Beschriftungsfeld (Label)
| Beschriftungsfeld (Label)
|-  
|-
| lst
| lst
| Listenfeld (ListBox)
| Listenfeld (ListBox)
|-  
|-
| mpg
| mpg
| Multiseite (MultiPage)
| Multiseite (MultiPage)
|-  
|-
| opt
| opt
| Optionsfeld
| Optionsfeld
|-  
|-
| pge
| pge
| Seite einer Multiseite (Page)
| Seite einer Multiseite (Page)
|-  
|-
| scr
| scr
| Bildlaufleiste (ScrollBar)
| Bildlaufleiste (ScrollBar)
|-
|-
| txt
| txt
| Textfeld (TextBox)  
| Textfeld (TextBox)
|}
|}
'''Anwendungs-Objekte'''
 
{| class="wikitable"  
 
'''Anwendungs-Objekte'''
{| class="wikitable"
|-
|-
! Präfix
! Präfix
! Objekt
! Objekt
|-  
|-
| bkm
| bkm
| Textmarke (BookMark)
| Textmarke (BookMark)
|-  
|-
| doc
| doc
| Dokument
| Dokument
|-  
|-
| fld
| fld
| (Formular-)Feld
| (Formular-)Feld
|-  
|-
| rng
| rng
| Bereich (Range)
| Bereich (Range)
|-  
|-
| shp
| shp
| Form (Shape)
| Form (Shape)
|-  
|-
| sld
| sld
| Folie (Slide)
| Folie (Slide)
|-  
|-
| tbl
| tbl
| Tabelle
| Tabelle
|-  
|-
| wkb
| wkb
| Arbeitsmappe (WorkBook)
| Arbeitsmappe (WorkBook)
|-
|-
| wks
| wks
| Arbeitsblatt (WorkSheet)  
| Arbeitsblatt (WorkSheet)
|}
|}


== Call ==
== Call ==


* Das Schlüsselwort <code>Call</code> kann vor Prozeduraufrufen angegeben werden.
* Das Schlüsselwort <code>Call</code> kann vor Prozeduraufrufen angegeben werden.  
* Wenn Sie <code>Call</code> verwenden, müssen Sie Parameter in Klammern angeben!
* Wenn Sie <code>Call</code> verwenden, müssen Sie Parameter in Klammern angeben!
* Dieses Schlüsselwort kann bei Aufrufen an die API oder an DLLs benötigt werden, bei Aufrufen innerhalb der eigenen Projekte ist es nicht nötig und sollte hier nicht eingesetzt werden. Call SetWindowPos(lnghWnd, HWND_TOPMOST, 0, 0, 0, 0, flags) ' API-Aufruf Call MsgBox("Hallo") ' Überflüssige Verwendung
* Dieses Schlüsselwort kann bei Aufrufen an die API oder an DLLs benötigt werden, bei Aufrufen innerhalb der eigenen Projekte ist es nicht nötig und sollte hier nicht eingesetzt werden.
 
Call SetWindowPos(lnghWnd, HWND_TOPMOST, 0, 0, 0, 0, flags)   ' API-Aufruf
Call MsgBox("Hallo")                                         ' Überflüssige Verwendung


== Ereignisse ==
== Ereignisse ==
Zeile 174: Zeile 188:
== Option Explicit ==
== Option Explicit ==


Kompilier-Anweisung, welche dafür sorgt, dass alle verwendeten Variablen ausdrücklich deklariert werden, sonst erscheint die Fehlermeldung: [[Fehlermeldungen#Variable nicht definiert|Fehler beim Kompilieren: Variable nicht definiert]]. Dies führt unter anderem dazu, dass bei der Ausführung des Codes auf Fehlschreibweisen von Variablennamen hingewiesen wird. Wenn Sie diese Einstellung nicht vornehmen, wird folgender Schreibfehler übergangen und ein falscher Wert wird ausgegeben: Sub Test() Dim lngVariable As Long lngVariable
Kompilier-Anweisung, welche dafür sorgt, dass alle verwendeten Variablen ausdrücklich deklariert werden, sonst erscheint die Fehlermeldung: [[Fehlermeldungen#Variable nicht definiert|Fehler beim Kompilieren: Variable nicht definiert]].


= 3 ' Wert von lngVariable =
Dies führt unter anderem dazu, dass bei der Ausführung des Codes auf Fehlschreibweisen von Variablennamen hingewiesen wird. Wenn Sie diese Einstellung nicht vornehmen, wird folgender Schreibfehler übergangen und ein falscher Wert wird ausgegeben:


3 lngVarable
Sub Test()
    Dim lngVariable As Long
   
    lngVariable = 3                   ' Wert von lngVariable = 3
    lngVarable = lngVariable + 2      ' Wert der falsch geschriebenen Variable lngVarable = 5
                                      ' Wert von lngVariable weiterhin 3
    MsgbOx lngVariable                ' Ausgegeben wird der Wert 3!
End Sub


= lngVariable + 2 ' Wert der falsch geschriebenen Variable lngVarable =
Diese Compiler-Anweisung erscheint automatisch  an erster Stelle in neu erstellten Modulen, wenn Sie im VBA-Editor unter ''Extras'', ''Optionen...'', ''Editor'' die Option ''Variablendeklaration erforderlich'' gewählt haben.


5 ' Wert von lngVariable weiterhin 3 MsgbOx lngVariable ' Ausgegeben wird der Wert 3! End Sub Diese Compiler-Anweisung erscheint automatisch an erster Stelle in neu erstellten Modulen, wenn Sie im VBA-Editor unter ''Extras'', ''Optionen...'', ''Editor'' die Option ''Variablendeklaration erforderlich'' gewählt haben. Die Anweisung kann auch nachträglich vorgenommen werden: Option Explicit
Die Anweisung kann auch nachträglich vorgenommen werden:
Option Explicit


== Option Compare ==
== Option Compare ==
Zeile 190: Zeile 212:
== Tastenkürzel ==
== Tastenkürzel ==


{| class="wikitable"
{| class="wikitable"  
! style="text-align:left;" | Tastenkürzel
! style="text-align:left;" | Tastenkürzel
! style="text-align:left;" | Arbeitsschritt / Funktion
! style="text-align:left;" | Arbeitsschritt / Funktion
Zeile 283: Zeile 305:
| STRG+PFEILOBEN
| STRG+PFEILOBEN
| Zur vorherigen Prozedur im Modul springen
| Zur vorherigen Prozedur im Modul springen
|-
|-  
| STRG+PFEILUNTEN
| STRG+PFEILUNTEN
| Zur nächsten Prozedur im Modul springen  
| Zur nächsten Prozedur im Modul springen
|}
|}


== Zeichentabelle ==
== Zeichentabelle ==


Eine ausführliche Tabelle insbesondere der Sonderzeichen finden Sie [[Zeichentabelle|hier]]
Eine ausführliche Tabelle insbesondere der Sonderzeichen finden Sie [[Zeichentabelle|hier]]

Version vom 10. Oktober 2018, 16:51 Uhr

Add-Ins

Auto-Makros

Benennung

Die Benennung von VBA-Elementen (Variablen, Prozeduren, Module, Projekte) folgt diesen Regeln:

  • Erlaubte Zeichen:
    • Beliebige Buchstaben, Ziffern und '_'
    • Auch Umlaute und Accents etc. sind erlaubt, werden jedoch nicht empfohlen!
    • Name muss mit einem Buchstaben beginnen
  • Erlaubte Länge:
    • Generell: 255
    • Name eines Moduls: 31

Für die Benennung von Variablen empfehlen wir die Leszynski Naming Convention (LNC) (siehe Wikipedia).


Datentypen

Präfix Datentyp
bln Boolescher Wert
bte Binärdaten (Byte)
col Auflistung (Collection)
cur Währung (Currency)
dbl Double
dte Datum
enm Enumerator
int Integer
obj Generisches Objekt
sng Single
str Zeichenkette (String)
tpe Benutzerdefinierter Datentyp (Type)


VBA-Objekte

Präfix Objekt
cls Klasse
frm UserForm (Dialog)
mod Modul


Controls der UserForm

Präfix Objekt
chk Kontrollkästchen (Checkbox)
cbo Kombinationsfeld (ComboBox)
cmb Befehlsschaltfläche (CommandButton)
lbl Beschriftungsfeld (Label)
lst Listenfeld (ListBox)
mpg Multiseite (MultiPage)
opt Optionsfeld
pge Seite einer Multiseite (Page)
scr Bildlaufleiste (ScrollBar)
txt Textfeld (TextBox)


Anwendungs-Objekte

Präfix Objekt
bkm Textmarke (BookMark)
doc Dokument
fld (Formular-)Feld
rng Bereich (Range)
shp Form (Shape)
sld Folie (Slide)
tbl Tabelle
wkb Arbeitsmappe (WorkBook)
wks Arbeitsblatt (WorkSheet)

Call

  • Das Schlüsselwort Call kann vor Prozeduraufrufen angegeben werden.
  • Wenn Sie Call verwenden, müssen Sie Parameter in Klammern angeben!
  • Dieses Schlüsselwort kann bei Aufrufen an die API oder an DLLs benötigt werden, bei Aufrufen innerhalb der eigenen Projekte ist es nicht nötig und sollte hier nicht eingesetzt werden.
Call SetWindowPos(lnghWnd, HWND_TOPMOST, 0, 0, 0, 0, flags)   ' API-Aufruf
Call MsgBox("Hallo")                                          ' Überflüssige Verwendung

Ereignisse

Auto-Makros

Anwendungsereignisse

Siehe Ereignisse

Makro

Word

Bitte beachten: Makros niemals in der globalen Vorlage 'Normal.dot(x)' speichern!

Option Explicit

Kompilier-Anweisung, welche dafür sorgt, dass alle verwendeten Variablen ausdrücklich deklariert werden, sonst erscheint die Fehlermeldung: Fehler beim Kompilieren: Variable nicht definiert.

Dies führt unter anderem dazu, dass bei der Ausführung des Codes auf Fehlschreibweisen von Variablennamen hingewiesen wird. Wenn Sie diese Einstellung nicht vornehmen, wird folgender Schreibfehler übergangen und ein falscher Wert wird ausgegeben:

Sub Test()
    Dim lngVariable As Long
    
    lngVariable = 3                   ' Wert von lngVariable = 3
    lngVarable = lngVariable + 2      ' Wert der falsch geschriebenen Variable lngVarable = 5
                                      ' Wert von lngVariable weiterhin 3
    MsgbOx lngVariable                ' Ausgegeben wird der Wert 3!
End Sub

Diese Compiler-Anweisung erscheint automatisch an erster Stelle in neu erstellten Modulen, wenn Sie im VBA-Editor unter Extras, Optionen..., Editor die Option Variablendeklaration erforderlich gewählt haben.

Die Anweisung kann auch nachträglich vorgenommen werden:

Option Explicit

Option Compare

Tastenkürzel

Tastenkürzel Arbeitsschritt / Funktion
F1 Kontextsensitive Hilfe
STRG+Z Letzten Schritt rückgängig machen
STRG+Y Letzten Schritt wiederholen
STRG+S Projekt speichern (speichert entsprechende Anwendungs-Datei) (außer PowerPoint Add-Ins)
STRG+F Suchen
F3 Weitersuchen (bei geschlossenem Suchen-Dialog)
SHIFT+F3 Rückwärts weitersuchen (bei geschlossenem Suchen-Dialog)
STRG+H Suchen und Ersetzen
TAB Markierte Zeile(n) Einzug vergrößern
SHIFT+TAB Markierte Zeile(n) Einzug verkleinern
STRG+LEERTASTE
oder
LEERTASTE
Befehl vervollständigen, Optionen und Parameter einblenden
STRG+I Quickinfo
F5 Code ausführen
F8 In Einzelschritt ausführen (springt in Unterprozedur)
SHIFT+F8 In Einzelschritt ausführen (überspringt Unterprozedur)
STRG+SHIFT+F8 Ausführen, diese Prozedur verlassen
SHIFT+F9 Aktuellen Wert (während der schrittweisen Ausführung) anzeigen
STRG+L Aufrufeliste (während der schrittweisen Ausführung) anzeigen
F9 Haltepunkt ein/aus
STRG+SHIFT+F9 Alle Haltepunkte ausschalten
STRG+SHIFT+PAUSE Ausführung unterbrechen
SHIFT+F2 Definition aufrufen (springt z. B. in Definition der gewählten Variable) (nur bei selbst definierten Elementen möglich)
STRG+SHIFT+F2 Zur letzten Stelle im Code zurückspringen
STRG+R Projektexplorer aktivieren
STRG+G Direktfenster anzeigen/aktivieren
ALT+F11 VBA-Editor aufrufen/zur Anwendung wechseln
F7 Code des Formulars anzeigen
F4 Eigenschaftenfenster anzeigen/aktivieren
F2 Objektexplorer aufrufen
STRG+PFEILOBEN Zur vorherigen Prozedur im Modul springen
STRG+PFEILUNTEN Zur nächsten Prozedur im Modul springen

Zeichentabelle

Eine ausführliche Tabelle insbesondere der Sonderzeichen finden Sie hier