
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 -
Wenn Sie in Excel von Ihren Benutzern oder Benutzerinnen auf mehreren Blättern Dateneingaben verlangen, ist das oft wie in einem Assistenten organisiert, also die Werte auf Tabellenblatt 1 müssen vorhanden sein, bevor das Weitergehen in Tabellenblatt 2 sinnvoll ist. Das lässt sich sogar sehr einfach überprüfen. Der folgende Code muss im Tabellenmodul derjenigen Tabelle eingefügt werden, welches noch nicht betreten werden darf, wenn die Zelle mit dem Bereichsnamen
PruefDaten (die in irgendeinem anderen Blatt sein kann) noch unausgefüllt ist:
Private Sub Worksheet_Activate()
With Application.Range("PruefDaten")
If .Value = "" Then
.Parent.Activate
End If
End With
End Sub
Beim Versuch, dieses Tabellenblatt zu betreten, wird automatisch dessen
Worksheet_Activate-Ereignis ausgelöst. Darin prüfen Sie nun den Wert der Zelle namens
PruefDaten. Falls diese leer ist, wird deren
Parent-Objekt, also ihre zugehörige Tabelle, aktiviert. Ihr Code muss also gar nicht konkret "wissen", wo sich der Bereich befindet.
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 +
Zellen des Bereichsnamens markieren +
Bereichsnamen löschen +