Collapse column

Autor Thema: Automatische Namensvergabe über VBA - Bereiche dynamisch  (Gelesen 14758 mal)

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Automatische Namensvergabe über VBA - Bereiche dynamisch
« am: Januar 15, 2012, 11:12:41 Vormittag »
Hallo zusammen,
nachdem ich Daten aus SAP exprtiert und lokal gespeichert habe, vergebe ich mit nachstehendem Code die Namen auf Basis der ersten Zeile für die jeweilige Spalte.

Code: Visual Basic
  1. Sub Feldnamen_bereinigen()
  2. Dim felder As Range 'feld
  3. Dim zelle As Range
  4. Dim i As Long 'letzte Spalte
  5.  
  6. Application.ScreenUpdating = False
  7.  
  8. 'Feldnamen bereinigen
  9.  
  10. i = ActiveSheet.UsedRange.Columns.Count
  11.  
  12. Set felder = ActiveSheet.Range(Cells(1, 1), Cells(1, i))
  13. 'Bereich wird über Feldnamen definiert
  14.  
  15.     For Each zelle In felder 'bei anderen Sonderzeichen ggfs. erweitern
  16.    
  17.         zelle = Replace(zelle, " ", "_")
  18.         zelle = Replace(zelle, "-", "_")
  19.         zelle.Value = zelle.Value
  20.    
  21.     Next
  22.    
  23. 'automatische Namensvergabe auf 1. Zeile
  24.  
  25.     Range("A1").Select
  26.     Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
  27.     Selection.CreateNames Top:=True, Left:=False, Bottom:=False, Right:=False
  28.    
  29.     Range("A1").Select
  30.  
  31. Application.ScreenUpdating = True
  32.  
  33. End Sub
  34.  

Das funktioniert soweit auch ohne Probleme, allerdings sind die Bereiche für die Namen nun starr auf der aktuellen letzten Zeile.

Da bei den Rohdaten jedoch permanent Datensätze hinzukommen oder wegfallen können, möchte ich den Bereich dynamisch gestalten.
Ich möchte das Makro ins Deactivate Ereignis des Tabellenblattes Rohdaten packen, so daß beim Verlassen des Tabellenblattes und dem Wechsel in ein Blatt Auswertungen die Bereiche dynamisch sind und auf die aktuelle Tabellengröße der Rohdaten passen.

Hat hierzu jemand eine Idee?

Als Beispiel habe ich mal eine Demoarbeitsmappe hochgeladen
Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Officer

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 59.503
    • Profil anzeigen
    • Excel-Inside Solutions
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2019 / Office 365
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #1 am: Januar 15, 2012, 17:43:57 Nachmittag »
Hallo Andreas,

wäre es möglich, dass Du den VBA-Code immer dann ausführen lässst, wenn das Tabellenblatt aktiviert wird. Damit würde der Bereichsname automatisch auf die letzte Zeile angepasst.

Wäre das eine Möglichkeit oder hab ich da was falsch verstanden?

Liebe Grüße

Alois
Weitere Informationen, Tipps & Tricks findest du auf Excel-Inside.de
Bitte erfolgreich beantwortete Fragen als gelöst kennzeichnen -  zur Anleitung

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #2 am: Januar 15, 2012, 18:18:51 Nachmittag »
Hallo Alois,
ich hatte das deactivate im Hinterkopf -
Das Problem ist, dass wenn ich ins Blatt mit den Rohdaten etwas einfüge dieses ja bereits aktiv ist.
Evtl. dann statt des activate Ereignisses dann doch das Change nehmen?
Aber da bin ich auch nicht klar gekommen -

Hatte auch überlegt zuerst alle Namen zu löschen und dann neu aufzusetzen - aber beisst sich immer die Katze in den Schwanz, da ich nicht weiß wie ich es schaffe dies zu machen nachdem ins Blatt mit den Rohdaten neues hinzugekommen ist.

Hatte auch schon dran gedacht die Namensvergabe ganz anders zu lösen.

Und zwar die Formel die in Excel (ohen VBA) Namen dynamisch erzeugt per VBA reinzuschreiben.
Etwa in der Art: =INDIREKT("Starten!A$2:"&ANZAHL2(Starten!$A:$A))


Aber da  weiss ich nicht wie ich das in VBA umsetzen soll.

Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Offline Officer

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 59.503
    • Profil anzeigen
    • Excel-Inside Solutions
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2019 / Office 365
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #3 am: Januar 15, 2012, 20:51:23 Nachmittag »
Hallo Andreas,

ich hab mal schnell was geschraubt, siehe Anlage.
Wenn das Blatt "Starten" aktiviert wird, werden die Namen auf dem Blatt "vor_Bereinigung" neu gesetzt.
Ich habe das Ereignis Worksheet_Deactivate() auf dem Blatt "vor_Bereinigung" verwendet.

Viele Grüße

Alois
Weitere Informationen, Tipps & Tricks findest du auf Excel-Inside.de
Bitte erfolgreich beantwortete Fragen als gelöst kennzeichnen -  zur Anleitung

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #4 am: Januar 16, 2012, 05:00:38 Vormittag »
Hallo Alois,
danke für die Unterstützung
das sieht schon ganz gut aus - Allerdings kommt jetzt ja immer diese blöde Aktualiseren Meldung
Die Zeile Application.DisplayAlerts = false bzw True habe ich noch wegen der Unterdrückung der Meldung reingenommen - aber das unterdrückt dann wieder die Namensvergabe !
Hast Du da auch noch eine Idee?

Nachtrag - eben ist mir aufgefallen, dass die Bereiche sich nicht ändern - es werden zwar die Feldnamen bereinigt - aber der Bereich bleibt auf der ursprünglichen Größe
« Letzte Änderung: Januar 16, 2012, 06:07:14 Vormittag von ae »
Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Officer

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 59.503
    • Profil anzeigen
    • Excel-Inside Solutions
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2019 / Office 365
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #5 am: Januar 16, 2012, 07:32:59 Vormittag »
Guten Morgen Andreas,

in dieser Variante habe ich die dyamische Namensvergabe per Formel gelöst. Dies ist deutlich einfacher.

Ich habe in der Beispieldatei, siehe Anlage, die Namen für die Spalten A-C definiert, die restlichen Spalten kannst Du auf die gleiche Weise mit Namen versehen. Die Namensvergabe musst du manuell für die Spalten durchführen. Die Anpassung auf die Spaltenlänge funktioniert automatisch.

Verwendet wird dazu folgende Formel für Spalte A: =INDIREKT("A1:A"&ANZAHL2(vor_Bereinigung!$A:$A))
Für den Namen in Spalte B musst Du dann nur den Bezug anpassen: =INDIREKT("B1:B"&ANZAHL2(vor_Bereinigung!$B:$B))

Viele Grüße

Alois
Weitere Informationen, Tipps & Tricks findest du auf Excel-Inside.de
Bitte erfolgreich beantwortete Fragen als gelöst kennzeichnen -  zur Anleitung

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #6 am: Januar 16, 2012, 08:15:37 Vormittag »
Hallo Alois,

ok - da werde ich dann wohl doch nicht umhinkommen es so zu lösen.

Ich hatte gedacht, ich bekomme irgendwie das ganze so hin, dass genau diese über die Indirekt-Funktion erzeugten dynamischen Bereiche direkt im Makro erzeugt werden.

Werde da in einer stillen Stunde nochmals ein wenig drüber grübeln, ob ich da irgendwie eine Kombination aus Funktion und VBA gebastelt bekomme :)

Danke für die Unterstützung
Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #7 am: Januar 16, 2012, 10:19:11 Vormittag »
Hi ihr beiden,  ;)

ich würde für die Namensdefinition nicht INDIREKT() sondern BEREICH.VERSCHIEBEN() verwenden:
- für Spalte A: =BEREICH.VERSCHIEBEN(vor_Bereinigung!$A$1;0;0;ANZAHL2(vor_Bereinigung!$A:$A);1)
- für Spalte B: =BEREICH.VERSCHIEBEN(vor_Bereinigung!$B$1;0;0;ANZAHL2(vor_Bereinigung!$A:$A);1)
- für Spalte C: =BEREICH.VERSCHIEBEN(vor_Bereinigung!$C$1;0;0;ANZAHL2(vor_Bereinigung!$A:$A);1)

Als Bezug für die Anzahl würde ich immer Spalte A verwenden, denn die dürfte auf jeden Fall immer gefüllt sein, wobei das bei den anderen auch mal nicht der Fall sein könnte, was dann zu einem falschen Bereich führen würde.

Weshalb BEREICH.VERSCHIEBEN() und nicht INDIREKT()? Soweit ich weiß, belegt wohl INDIREKT() mehr Speicherplatz als BEREICH.VERSCHIEBEN().


@Andreas,

hast du schon mal versucht, das Calculate-Ereignis zu verwenden, um dein Marko auszulösen?

Bis später,
Karin

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #8 am: Januar 16, 2012, 10:28:14 Vormittag »
Hallo Karin,
danke für den Hinweis.
Das Calculate hatte ich noch nicht in Betracht.
Werde ich aber gleich mal testen.
Melde mich dann hier zurück sobald verwertbares vorhanden ist.
Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Gelöst!!! Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #9 am: Januar 16, 2012, 10:53:59 Vormittag »
Hallo zusammen!
Es passt ! Ich lösche jetzt einfach beim Deaktivieren zunächst ohne Nachfrage alle vorhandenen Namen - und dann auf ein neues.



Sobald jetzt Datensätze dazukommen oder wegfallen wird aktualisiert!

Danke für eure Unterstützung!

Code: Visual Basic
  1.  
  2. Sub Feldnamen_bereinigen()
  3. Dim felder As Range 'feld
  4. Dim zelle As Range
  5. Dim i As Long 'letzte Spalte
  6.  
  7. Dim varName As Name
  8.  
  9. Application.ScreenUpdating = False
  10. 'Namen ohne Nachfrage entfernen
  11.  
  12.  
  13. For Each varName In ActiveWorkbook.Names
  14. varName.Delete
  15. Next varName
  16.  
  17. 'Feldnamen bereinigen
  18.  
  19. Set wsakt = ActiveSheet
  20. Set wsroh = ThisWorkbook.Sheets("vor_Bereinigung")
  21.  
  22. i = wsroh.UsedRange.Columns.Count
  23.  
  24. Application.EnableEvents = False
  25.  
  26. wsroh.Select
  27. Set felder = wsroh.Range(Cells(1, 1), Cells(1, i))
  28.  
  29.  
  30. 'Bereich wird über Feldnamen definiert
  31.    For Each zelle In felder 'bei anderen Sonderzeichen ggfs. erweitern
  32.    
  33.         zelle = Replace(zelle, " ", "_")
  34.         zelle = Replace(zelle, "-", "_")
  35.         zelle.Value = zelle.Value
  36.     Next
  37.    
  38. 'automatische Namensvergabe auf 1. Zeile
  39.    wsroh.Range("A1").Select
  40.     Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
  41.     Selection.CreateNames Top:=True, Left:=False, Bottom:=False, Right:=False
  42.    
  43.     Range("A1").Select
  44.  
  45. wsakt.Select
  46. Application.EnableEvents = True
  47. Application.ScreenUpdating = True
  48.  
  49. End Sub
  50.  
  51.  
  52.  
« Letzte Änderung: Januar 16, 2012, 10:57:25 Vormittag von ae »
Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Offline Thomas Ramel

  • Global Moderator
  • Newbie
  • *****
  • Beiträge: 25
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #10 am: Januar 17, 2012, 19:05:07 Nachmittag »
Grüezi zusammen

Hmmm, was ich an der Sache nicht so ganz verstehen kann ist, warum die Namen auf biegen und brechen mit VBA erstellt/manipuliert werden müssen...

Einmal sauber dynamisch eingerichtet passen sie diese dann doch immer der vorhandenen Datenmenge an und müssen nicht mehr angefasst werden.


Und wenn es um die Performance geht würde ich anstelle INDITEKT() und BEREICH.VERSCHIEBEN() heute auf INDEX() zurückgreifen.
Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #11 am: Januar 17, 2012, 20:03:46 Nachmittag »
Hallo Thomas,
der Hintergrund ist, dass ich eine leere Mappe haben möchte.
Es steht in A1 nur eine Feldüberschrift sowie drunter ein Dummywert.
Mittels "reinkopieren" nach A1 sollen flache Tabellenstrukturen sofort ausgewertet werden können, ohne dass der User sich um Tabellennamen, Bereiche, ... kümmern muss.
Und die Anzahl der Feldbezeichnungen (Spalten) kann unterschiedlich sein.


Ich hab mal als Anlage die Demo wie ich das meine beigefügt.
Das Blatt Auswertungen und Pivot besteht darin bereits. Im nächsten Schritt sollen dann noch statt des manuellen Einfügens evtl. die Daten in die Vorlage geholt werden.

Die Vorlage soll dann eben im Endeffekt Daten in der Form wie sie die 2. Datei "Spieldaten" hat aufnehmen
« Letzte Änderung: Januar 17, 2012, 20:10:18 Nachmittag von ae »
Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Thomas Ramel

  • Global Moderator
  • Newbie
  • *****
  • Beiträge: 25
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #12 am: Januar 17, 2012, 21:17:52 Nachmittag »
Grüezi Andreas

Ja, ok, aber warum muss der Bereich der für die PT als Basis dient dann jedesmal mit VBA ermittelt werden?

Die folgende Formel einem Bereichsnamen im Namensmanager zugewiesen tut ganz ohne VBA-Programmierung dasselbe:

=$A$1:INDEX($1:$65536;ANZAHL2($A:$A);ANZAHL2($1:$1))

Meinetwegen kann man auch BEREICH.VERSCHIEBEN() nehmen (wobei die halt volatil ist).

=BEREICH.VERSCHIEBEN($A$1;;;ANZAHL2($A:$A);ANZAHL2($1:$1))


Damit ist der Quellbereich für die PT immer definiert.
Beim Wechseln auf das Tabellenblatt mit der PT ist das Gerüst je eh leer, so gesehen macht das keinen Unterschied und Du kannst genau so die Daten da ins Tabellenblatt kopieren (oder auch mit einer Abfrage reinholen).

Wozu benötigst Du denn die Bereichsnamen welche die einzelnen Spalten umfassen?
(das ist wegen der Dynamik der Spaltenanzahl ohne VBA nicht lösbar).

Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #13 am: Januar 18, 2012, 05:36:26 Vormittag »
Hallo Thomas,
stimmt, die Pivot kann ich vorab definieren. Das hatte ich im Grunde nur in VBA gemacht, da ich die Namen eh dort definiere.

Gibt es einen Grund es dort wieder rauszunehmen und es stattdessen über Formel zu machen? Also ich meine so etwas wie Performancegründe?

Die Namen der Spalten sollen einfach der Lesbarkeit in den Formeln dienen.
Oder aber auch als Dropdowns über Daten Gültigkeit - Gerade in aus SAP exportierten Listen mit sehr vielen Spalten für Merkmale und Kennzahlen ist es grauenhaft ohne Namen zu arbeiten. Geht zumindest mir so.
Und die SAP Exporte mit denen ich häufig zu tun habe sind ein Grund warum ich eine weitgehend automatisierte  Vorlage haben mag. Das geht schon damit los, dass man sonst auch erst gleich wieder jedesmal die Namen die aus SAP kommen manuell ändern oder neu aufsetzen muß.
Hab mal einen Screenshot angehängt

Hintergrund dieser "Spielerei" ist dass ganze so weit wie möglich alles vorzubereiten und dann nur noch rein mit den Daten in die Vorlage.
Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Offline Thomas Ramel

  • Global Moderator
  • Newbie
  • *****
  • Beiträge: 25
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #14 am: Januar 18, 2012, 06:23:11 Vormittag »
Grüezi Andreas

OK, wenn es um weitere Namen und deren Verarbeitung geht, macht das wohl Sinn.

Der 'Vorteil' des dynamsischen Namens (hier jetzt für die PT) besteht darin, dass er, einmal angelegt und erstellt, dann nicht mehr neu gesetzt und/oder verändert werden muss. er passt sich dann einfach der vorhandenen Datenmenge an.
Insofern wirkt sich das auch positiv auf die Performance aus, weil der Name dann nicht jedesmal wieder neu angelegt werden muss - das bewegt sich allerdings im Milli-Sekunden Bereich, denke ich mal.

Die weiter führenden Gedanken und Pläne waren mir so nicht bewusst/bekannt - wenn das so benötigt wird wie Du das beschreibst, dann macht es Sinn das Ganze per VBA anzulegen.
Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Offline ae

  • Jr. Member
  • **
  • Beiträge: 63
    • Profil anzeigen
    • Learning SAP
Antw: Automatische Namensvergabe über VBA - Bereiche dynamisch
« Antwort #15 am: Januar 18, 2012, 06:57:17 Vormittag »
Hallo Thomas,

die weiteren Gedanken waren natürlich so aus dem Beitrag auch nicht ersichtlich. Und in mein "Hirnkastel" kann man (Gott sei Dank!) noch nicht per PC schauen.

Nix destotrotz werde ich die Anregung für den dynamischen Namen der Pivot über Formel aufnehmen.

Da dies bisher noch nicht das Ende der Fahnenstange ist, bin ich vielleicht später froh um jede "Bremse" der Performance die ich vermieden habe.

Dein Beitrag hat mich dann auch heute morgen schon dazu angeregt in die Vorlage evtl. noch so etwas wie einen "On/off" Schalter fürs Deactivate-Tabellenereignis  der Rohdaten einzubauen.

Denn das Ganze wird ja, sobald man nur auch kurz mal was nachschaut, beim Verlassen der Tabelle erneut angestossen.

Mal schauen wie sich das Ganze alles noch realisieren lässt.

Viele Grüße
Andreas E
-----------------------------------------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.