Hier möchte ich Ihnen einige Besonderheiten mit auf den Weg geben, die Sie bei der Namensdefinition kennen sollten. Nachstehend dazu folgende Unterthemen:
Es gibt einige Bereichsnamen, die für die Nutzung durch Excel reserviert sind und Ihnen insofern nicht als benutzerdefinierte Bereichsnamen zur Verfügung stehen.
Auch wenn Sie diese nicht zur Definition Ihrer Bereiche benutzen können, heißt dies nicht, dass Sie diese nicht nutzen können. Wenn Sie z.B. den Namen Druckbereich nutzen, können Sie definieren, welche Zellen gedruckt werden sollen.
Die englischen Bezeichnungen der reservierten Namen füge ich bei, da Sie diese benutzen müssen, wenn Sie diese Bereiche per Code ansprechen wollen.
Deutsch | Englisch | Zweck | Bemerkung |
Auto_aktivieren | Auto_Activate | Dieser Name ruft beim Aktivieren des Blatts ein Makro auf | statt einer Formel gehört das auszuführende Makro in das "bezieht sich auf"-Feld. Ein Gleichheitszeichen ist voranzustellen. |
Auto_schließen | Auto_Close | Dieser Name ruft beim Dateischließen ein Makro auf | |
Auto_deaktivieren | Auto_Deactivate | Dieser Name ruft beim Deaktivieren des Blatts ein Makro auf | |
Auto_öffnen | Auto_Open | Dieser Name ruft beim Dateiöffnen ein Makro auf | |
Konsolidationsbereich | Consolidate_Area | Der Name bezieht sich auf den Konsolidationsbereich | Konsolidieren |
Datenmaske | Data_Form | Der Name bezieht sich auf den Datenbankbereich für Datenmaske | Datenmaske |
Datenbank | Database | Der Name definiert eine Datenbank | |
Suchkriterien | Criteria | Der Name wird vom Spezialfilter für den Kriterienbereich verwandt | Spezialfilter (2) - Filtern nach Kriterien |
Zielbereich | Extract | Der Name wird vom Spezialfilter für den Zielbereich verwandt | Spezialfilter (2) - Filtern nach Kriterien |
Druckbereich | Print_Area | Der Name wird benutzt, wenn per Hand ein Druckbereich definiert wurde | Seite einrichten - Einstellungen zum Drucken |
Drucktitel | Print_Titles | Der Name wird benutzt, wenn per Hand Wiederholungszeilen definiert wurden | Seite einrichten - Einstellungen zum Drucken |
Aufzeichnung | Recorder | ||
Tabellenüberschrift | Sheet_Title | ||
_FilterDatenbank | _FilterDatabase | Der Name wird beim Einsatz des Autofilters benutzt | Autofilter |
Die meisten dieser Namen sind lokale Namen und somit, falls überhaupt existent, nur im Namen-Definieren-Dialog sichtbar, wenn das entsprechende Tabellenblatt aktiv ist. Mehr Information zu lokalen Namen finden Sie im Abschnitt Lokale und globale Namen. Haben Sie z.B. einen Druckbereich in einem Blatt definiert, finden Sie den Druckbereich im entsprechenden Tabellenblatt auch als lokalen Namen. Manche dieser Namen werden aber auch unsichtbar von Excel gespeichert und sind somit nicht sichtbar, als Beispiel ist da _FilterDatenbank zu nennen.
Wenn man per Makro alle Namen einer Datei löscht, werden auch die reservierten Namen gelöscht. Z.B. sind die Druckbereiche nicht mehr da und Autofilter werden zwar angezeigt, aber sie zeigen keine Auswahl mehr an. Abhilfe: Druckbereich neu festlegen, Autofilter aufheben und neu setzen.
Heutzutage werden diese Aktionen üblicherweise von Ereignis-Makros übernommen, was auch sinnvoll ist, da die Datei ja sowieso schon Code enthält. Sollten Sie dem aber mal begegnen, können Sie sich hier informieren wie sie funktionieren. Zu den Ereignis-Namen zählen:
Auto_aktivieren | Auto_schließen | Auto_deaktivieren | Auto_öffnen |
Name: | Auto_öffnen |
Bezieht sich auf: | =Bin_wieder_da |
Sub Bin_wieder_da()
MsgBox "Bin wieder da"
End Sub
Ab dem nächsten Dateiöffnen wird das Makro nun ausgeführt. Entsprechend wirken sich die anderen Ereignis-Namen bei den entsprechenden Ereignissen aus.
Namen löscht man, indem man über Menü > Einfügen > Namen > Definieren... geht. Ein Dialogfenster öffnet sich. Sie markieren den zu löschenden Namen und klicken auf die Schaltfläche Löschen und verlassen das Dialogfenster über die Schaltfläche OK. Handelt es sich bei dem zu löschenden Namen um einen lokalen Namen, so wird dieser Ihnen nur dort angezeigt, wenn das Tabellenblatt aktiv ist, in dem der Name lokal definiert ist.
Das Löschen von Namen kann nicht rückgängig gemacht werden. Eine Möglichkeit wäre, die Datei ohne Speichern zu schließen, dadurch verlieren Sie aber die anderen vorgenommenen Änderungen. Ansonsten bleibt nur Neuerfassung übrig.
Wenn Sie einen Namen löschen, der in einer Formel genutzt wird, wird die Formel den Fehlerwert #Name? ausgeben.
Wenn Sie Bereiche löschen, die per Namen definiert sind, dann wird der Name ungültig. Sie erkennen es an der Formel, dort steht u.A. dann der Fehlerwert #Bezug!. Die fehlerhaften Namen löschen sich nicht automatisch sondern sollten von Ihnen wie oben beschrieben gelöscht werden.
Es kann auch vorkommen, dass definierte Namen besondere Zeichen enthalten, wie z.B. " AS". Häufig entstehen solche korrupten Namen durch den Datenimport aus anderen Programmen. Und häufig sind es nicht-druckbare Zeichen. Und auf die oben beschriebene Weise lassen sich diese korrupten Namen nicht löschen.
Aber es gibt Abhilfe, hier die schrittweise Beschreibung des Vorgehens:
Definierte Namen in Excel können global oder lokal sein. Der gleiche Name kann in einer Arbeitsmappe nur einmal global existieren. Wollen Sie den gleichen Namen mehrmals in Ihrer Datei in verschiedenen Blättern nutzen, dann müssen Sie ihn spätestens ab dem zweiten Blatt als lokalen Namen definieren. Gleichlautende Namen können in Dateien interessant sein, die Blätter gleicher Strukur enthalten.
Einen globalen Namen kann man definieren, wenn der Name erstmalig in der Arbeitsmappe vorkommt. Dazu reicht es, einen Bereich zu markieren und den gewünschen Namen ins Namenfeld einzugeben. Existiert ein Name schon global und wir wollen ihn an anderer Stelle erneut global definieren, dann wird die erste Definition durch die spätere Definition ersetzt; er wird also kein zweites Mal angelegt.
Lokale Namen erstellen sich automatisch, wenn ein Blatt, welches Namen enthält, kopiert wird, da ja durch die Blattkopie automatisch der Name ein zweites Mal erzeugt wird. Damit ist der Bereichsname wieder eindeutig innerhalb der Arbeitsmappe.
Man kann lokale Namen aber auch per Hand erstellen: Gehen Sie über Menü > Einfügen > Namen > Definieren.... Vor dem eigentlichen Namen ist der Blattname mit Ausrufungszeichen einzugeben. Im Feld bezieht sich auf ist ebenfalls der Blattname mit Ausrufungszeichen vor dem Bereich einzugeben; weiterhin empfiehlt es sich, den Tabellenblattnamen in Hochkommas einzuschließen, weil der Blattname sonst ungültig wäre, sobald Leerzeichen in ihm vorkommen. Beispiel:
Name: | 'Tabelle1'!Test1a |
Bezieht sich auf: | ='Tabelle1'!$E$5 |
Wenn in einer Arbeitsmappe der Name als globaler Name aber auch als lokaler Name vorkommt, dann dominiert der lokale Namen über den globalen Namen, insofern das Blatt aktiv ist, in dem der Name lokal definiert wurde.
Beispiel: Sie haben in einer Arbeitsmappe den globalen Namen Umsatz definiert und im Tabellenblatt Tabelle2 den lokalen Namen Umsatz, dann wird Ihnen in jedem Blatt der Mappe der globale Name Umsatz im Dialogfenster Menü > Einfügen > Namen > Definieren... angezeigt. Außer im Blatt Tabelle2. Dort ist nur der lokale Name Umsatz sichtbar. Wenn Sie diesen löschen, dann erscheint auch dort wieder der globale Name Umsatz.
Im Dialogfenster Menü > Einfügen > Namen > Definieren... erkennen Sie lokale Namen daran, dass in der Liste rechts vom Namen der Blattname angezeigt wird. Dafür muss das Blatt aber aktiv sein, in dem der lokale Name definiert wurde. Bei globalen Namen steht kein Blattname daneben.
Globale Namen sind in der gesamten Arbeitsmappe verfügbar, außer in den Blättern, die den gleichen Namen lokal definiert haben. Lokale Namen sind nur auf dem Blatt verfügbar, wo sie definiert sind. Zugreifen können wir aber von überall aus auf globale und lokale Namen; wichtig ist, dass wir unbedingt beachten, wo wir uns befinden, um den Verweis korrekt zu setzen.
Beispiel: Der lokale Name Umsatz ist in Tabelle2 definiert, während der globale Name Umsatz in einem anderen Tabellenblatt der Arbeitsmappe definiert ist. Die Beispielarbeitsmappe heißt Dateiname.xls. Im Beispiel benutzen wir die Funktion SUMME:
Im Abschnitt Namen löschen ist beschrieben, wie man Namen löscht. Um lokale Namen löschen zu können, muss das Blatt, in dem der Name lokal definiert ist, aktiv sein.
Wie Sie über das Namenfeld zu Namensbereichen navigieren können, ist hier beschrieben. Die dort genannte Vorgehensweise können Sie anwenden, wenn es sich um globale Namen handelt bzw. wenn der lokale Name im aktiven Blatt definiert ist. Wollen Sie den Bereich eines lokalen Namens eines anderen Blatts ansteuern, dann müssen Sie im Namenfeld den Blattnamen mit Ausrufungszeichen gefolgt vom lokalen Namen eingeben.