Tipps & Tricks: Detail

Hier finden Sie zu dem ausgewählten Tipp oder Trick die detaillierten Angaben.

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 Datei Speichern 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 E-Mail Bescheid sagen.

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.