Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereichsnamen über Tabelleneinträge steuern

Bereichsnamen über Tabelleneinträge steuern
georg.hengst@t-systems.com
Hallo Excel Welt,
in meiner Datei arbeite ich mit ca. 30 Bereichsnamen und es ist mitunter etwas schwierig da den Überblick zu behalten. Besteht die Möglichkeit, daß ich die Bezüge aller Namen (also z.B. "Daten!$BC$293:$BC$8000") in ein eigenes Blatt schreibe und dort direkt Änderungen vornehmen kann, die dann den Namen entsprechend verändern? Damit könnte ich alle Namen auf einer Seite übersichtlich verwalten und Änderungen komfortabel einpflegen. Die Namensverwaltung unter "Einfügen - namen - definieren" müsste dann einen Bezug auf dieses Blatt bekommen. Ich dachte an sowas wie INDIREKT, hab mir aber bislang daran die Finger gebrochen. Oder kann man mit einem Makro die auf der Seite genannten Bezüge in die Namen schreiben?
Habt Ihr eine Idee?
Vielen Dank für Eure Hilfe schon im vorweg!
Georg

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: mal als erster Ansatz ... aus dem Archiv
24.08.2010 12:31:36
georg.hengst@t-systems.com
Hallo Matthias,
danke, trifft es aber noch nicht so ganz. Bei Deiner Lösung werden die Daten der Namen ausgelesen und in ein Blatt geschrieben, oder? Ich brauch aber den umgekehrten Weg. Ich will die Namensbezüge in einem Blatt haben und das in die Namensverwaltung von Excel schieben....
Danke aber trotzdem
Georg
Definierte Namen in Tabellenblatt verwalten
24.08.2010 12:54:54
NoNet
Hallo Georg,
hier ein Lösungsvorschlag von mir :
- Erstelle ein Blatt mit Namen "Definierte Namen"
- Füge dort in Zelle A1 über Menü "Einfügen - Namen - Einfügen - als Liste" zunächst die Liste der bereits definierten Namen ein
- Zum Editieren der Bezüge in Spalte B bitte Formelansicht (Strg #) aktivieren
Kopiere das folgende Makro in das Klassenmodul des Tabellenblattes (also : Name des Blattes im Blattregister unten per rechts anklicken und "Code anzeigen..." auswählen und Code in das nun geöffnete VBA-Fenster kopieren) :
'Ereignismakro zum einfachen Verwalten von definierten Namen
'24.08.2010, NoNet - www.excelei.de
'Code in das Klassenmodul des Blattes "Definierte Namen",
'das in Spalte A die Namen enthält und in Spalte B die zugehörigen Bezüge !
' z.B. in Spalte B : =Tabelle1!$A$1:$C$10
'zu löschende Namen : bitte Bezug in Spalte B löschen => Name wird gelöscht
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngZ As Long, lngLZ As Long
lngLZ = Cells(Rows.Count, 1).End(xlUp).Row
On Error Resume Next
For lngZ = 1 To lngLZ
If Cells(lngZ, 1)  "" Then
ActiveWorkbook.Names(Cells(lngZ, 1)).Delete
If Cells(lngZ, 2)  "" Then
ActiveWorkbook.Names.Add Cells(lngZ, 1), Cells(lngZ, 2).Formula
End If
End If
Next
End Sub
Gruß, NoNet
Anzeige
AW: Definierte Namen in Tabellenblatt verwalten
26.08.2010 15:24:51
Peter
Hallo NoNet
Super Idee, die ich gerne auch verwende.
Ich habe festgestellt, dass der Spalte B das Textformat zugewiesen werden kann. Dann entfällt die Umschaltung auf Formeln.
Gruss, Peter
AW: Definierte Namen in Tabellenblatt verwalten
26.08.2010 15:40:16
georg.hengst@t-systems.com
Was für raffinierte kleine Tricks...
:-))
AW: Bereichsnamen über Tabelleneinträge steuern
24.08.2010 12:28:31
Klaus
Hallo Georg,
mache ein neues Blatt auf, dass nennst du "Namen".
Dort schreibst du in B1:
''Daten'!A1:A7
(Hochkomma - Hochkomma - D - A - T - E - N - Hochkomma - Ausrufezeichen)
(Das erste Hochkomma wird von Excel zur Formatierung ausgeblendet)
In A1 schreibst du "Hallo Welt" oder sinnigerweise einen Kommentar zu Bereich A1:A7.
Vergib nun einen Neuen Namen (zB TestEins) mit bezieht sich auf
=INDIREKT(Namen!$B$1)
Ab sofort kannst du mit "=SUMME(TestEins) den Bereich Daten!A1:A7 summieren. Die Bereiche können komfortabel im Tabellenblatt geändert werden.
Grüße,
Klaus M.vdT.
(ohne Gewähr! Ich tippe mal, dass dies vorgehen bei 80 indirekten Namen kriechend langsam wird. Rückmeldung wär toll!)
Anzeige
Klasse, aber - was ist schneller?
24.08.2010 12:54:56
georg.hengst@t-systems.com
Hey das ist ja cool - gleich zwei Vorschläge, Klaus mit INDIREKT und Henrik mit einem Makro. Mir stellt sich jetzt die Frage, was bei einer 24 MB Datei mit ca. 8.000 Zeilen und 66 Spalten, 10 Pivots und ca. 60 verschiedenen Matrix Funktionen dann am Ende schneller läuft. Gibt es da Abschätzungen?
Auf alle Fälle Euch beiden ein ganz herzliches Dankeschön!!
Georg
Ich tippe auf's Makro
24.08.2010 13:06:35
Klaus
Hallo Georg,
da die INDIREKT Funktion flüchtig ist und somit Massen über Massen von unnötigen Neuberechnungen in deiner Datei auslöst, tippe ich mal die Makro-Variante wird schneller sein.
Ich würd das Makro von Henrik aber nicht per SelectionChange starten, sondern per Button den du einmalig bedienst nachdem ein Name / Bereich geändert wurde.
Andererseits kannst du unter Benutzung der INDIREKT Funktion oder SelectionChange die Strings der Namen auch variabel gestalten. Ich könnte mir zB vorstellen, dass ein Name "SummeMonat" abhängig vom Datum einen anderen Bereich umfasst.
Im Endeffekt hilft da aber nur ausprobieren ... und das kannst nur du!
Grüße,
Klaus M.vdT.
Anzeige
Alles klar, Vielen Dank Euch allen
24.08.2010 13:10:31
georg.hengst@t-systems.com
Bin schon heftig am testen, und alle Versionen laufen ganz gut. Die Indirekt Version hat mit die Matrix Formeln auf den Buckel geschmissen - aber das krieg ich auch noch hin. Performancemäßig läuft sie aber gut.
Wie gesagt allen ein großes DANKESCHÖN!
Georg
AW: Bereichsnamen über Tabelleneinträge steuern
24.08.2010 13:25:40
JogyB
Hallo Georg,
gibt es irgendeine Systematik in den Bereichsdefinitionen, so dass man per Formel auslesen kann, wie groß die Bereich sein müssen? Dann könnte man die Bereiche gleich dynamisch über Bereich.Verschieben definieren.
Gruß, Jogy

84 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige