
Tipps für Excel-VBA
Soweit keine Einschränkungen dazu genannt werden, gelten diese Tipps & Tricks für
alle Versionen von Excel. Auch wenn es aus historischen Gründen tatsächlich XL4-Makros gibt, die in speziellen Tabellen gespeichert waren, sind hier in diesem Zusammenhang mit "Makros" immer nur VBA-Programme gemeint.
Tipps zu VBA, die für alle Office-Programme gelten, finden Sie bei "
VBA allgemein".
Wenn in den folgenden Erläuterungen Texte wie
MsgBox formatiert sind, handelt es sich um konkret einzugebende Inhalte wie VBA-Code oder die Eingabe von Werten. Menüs wie sind wie hier zu sehen formatiert. Schaltflächen oder Registerkarten auf Dialogen werden wie Menüs behandelt.
Alle Tipps sind nach bestem Wissen geprüft, aber selbstverständlich ohne Gewähr. Sollten Sie doch einen Fehler darin entdecken, würden wir uns freuen, wenn Sie uns
per eMail Bescheid sagen.
Funktion beim Neuberechnen aktualisieren lassen + 
Zellen-Datum wird in VBA falsch ermittelt +
Makros in anderen Dateien aufrufen: mit Verweis (1) +
Makros in anderen Dateien aufrufen: ohne Verweis (2) +
A1- oder Z1S1-Schreibweise +
Formeln einfügen +
Welche Excel-Version hat die Datei? +
Tabelle löschen ohne Warnmeldung +
Tabellenblatt nur mit Bedingung öffnen +
Kommentare bearbeiten +
Dateinamen ermitteln + 
Blätter verstecken +
Erste Zeile eines Bereichs markieren +
Bereich ohne erste Zeile markieren +
Löschen in Zellen +
Bereichsnamen zuweisen (1): Bereich +
Bereichsnamen zuweisen (2): Adresse -
Oftmals wird im Laufe eines Makros ein Bereich mit Daten gefüllt und soll anschließend einen Bereichsnamen erhalten, damit für den Rest des Makros einfacher darauf zugegriffen werden kann. Anders als im vorigen Beispiel sind aber möglicherweise nur die Zelladressen bekannt. Dann müssen Sie auf die Schreibweise achten:
Sub BereichBenennen()
ActiveWorkbook.Names.Add "Ergebnisse", _
"=" & Selection.CurrentRegion.Address
End Sub
In diesem Beispiel wird ausgehend von der markierten Zelle der umgebende Bereich ermittelt, also alle Nachbarzellen, die Daten enthalten. Das sind typischerweise alle Listenelemente, wenn Sie per VBA Daten ermittelt und in einer Tabelle gespeichert haben. Deren (absolute) Adresse ist nun die Grundlage für Zuweisung des Bereichsnamens. Wichtig hierbei ist das führende "="-Zeichen, denn ansonsten erfindet Excel alle möglichen Textformen für die Adresse, aber keine gültige Zuweisung!
Da Sie innerhalb eines echten VBA-Programms natürlich nicht mit
Selection arbeiten (sollten), weil das sehr langsam ist, kommt vermutlich eher die folgende, fett markierte Änderung vor:
Sub BereichBenennen()
ActiveWorkbook.Names.Add "Ergebnisse", _
"=" & ActiveSheet.Range("$A$1").CurrentRegion.Address
End Sub
Auch hier ist das "="-Zeichen vor der Adresse zwingend notwendig.
Zellen des Bereichsnamens markieren +
Bereichsnamen löschen +