Tabellenblattnamen automatisch vergeben
#1
Hallo an alle,

ich bin neu in diesem Forum und bäuchte mal Eure Hilfe, weil ich nicht weiterkomme.

Ich enutze Excel 2016 und habe keine (!) Ahnung von VBA - glaube aber, dass es bei der Lösung zu meinem Problem nicht ohne geht. Deshalb ein bisschen Nachsicht beim Erklären... :)

Ich habe folgendes Problem:

1.) Ich habe über 50 Tabellenblätter, die Kalkulationen ernthalten.

2.) Ich habe ein Übersichtsblatt, das zur Übersicht verschiedene Zellen der einzelnen Tabellenblätter anzeigen sollen (EK-Preis, VK-Preis, Verkaufsdatum, ...).

3.) Um leichter navigieren zu können, habe ich in jedem Tabellenblatt eine Zelle angelegt (C1), die den verketteten Inhalt von 3 anderen Zellen enthält (Verkaufsdatum, Artikeltyp, Bestellnummer). Diese Zelle (C1) soll dann dann der Tabellenblattname werden. Somit steht also erst nach Ausfüllen der Kalkulation der Tabellenblattname fest!

3 Fragen stellen sich mir:

a.) Wie mache ich das, dass der Tabellenblattname automatisch der jeweiligen Zelle C1 entspricht ???
b.) Wie kann ich im Übersichtstabellenblatt den jeweiligen Tabellenblattnamen anzeigen lassen ???
c.) Gibt es eine Möglichkeit, dass wenn ich in der Übersichtstabelle auf den Tabellenblattnamen doppelt klicke, automatisch schon in dem Tabellenblatt lande (Vom Übersichtsbatt z. B. zum 63 Tabellenblatt zu scrollen ist schon recht weit...) ???

Ich wäre Euch super dankar, wenn ihr mir helfen könntet.

Ich löse es gerne auch mit VBA. Bräuchte dann allerdings eine ausführlichere Anleitung, wiel ich bisher noch nichts mit VBA gemacht habe...

Vielen Dank schon einmal und viele Grüße...

Frank
Top
#2
Hallo Frank

anbei eine kleine Demo Datei für VBA Anfaenger um dir "Appetit" zu machen dich mit VBA intensiver zu beschaeftigen.

Das Programm listet dir alle Tabellen im Ordner auf, sowohl normal, als Text, wie auch mit Hyperlink zur Tabelle.
Ein "Leckerbissen" der besonderen Art ist, das du jedes Blatt per VBA umbenennen kannst. Dauert keine Sekunde!

Was du sonnst noch zuordnen willst sehen wir mal nach deiner Rückantwort.  Ich bitte mal 3-4 Tabellen aus der Original Datei ins Beispiel zu kopieren, da kannst du den Code nach Herzenslust testen, OHNE Gefahr zu laufen das im Fehlerfall deine Originale unkontrolliert veraendert werden. Jedes neue Makro sollte man gründlich testen.  Der Code ist so einfach geschrieben und kommentiert das in jeder leicht verstehen kann.

mfg  Gast 123


Angehängte Dateien
.xlsm   Übersicht Demo.xlsm (Größe: 21,01 KB / Downloads: 19)
Top
#3
Nachtrag

als Anreiz um dich für VBA zu interessieren listet das Makro nur so zum Spass dir von jeder Tabelle den UsedRange Bereich, die LastRow, Anzahl der Formeln im Blatt und Anzahl der Blatt Objekte mit auf.  Das ist nur ein kleiner Ausschnitt was Programmierer aus Tabellen herauslesen können.  Und hast du ein Formel Problem mit Fehler in Formeln kann VBA dir sagen wie viele falsch sind, und dir alle Zell Adressen auflisten!

Selbst ausgeblendet und mit Kennwort geschützte Spalten und Zeilen sind für mich kein Thema.  Ich sehe jeden Zellinhalt!

mfg Gast 123


Angehängte Dateien
.xlsx   Übersicht Demo.xlsx (Größe: 10,98 KB / Downloads: 10)
Top
#4
Hallöchen,

wenn Deine Tabellenblattnamen jeweils in C1 stehen, dann würde es reichen, wenn Du per Formel auf die Tabellenblätter gehst und die Namen auf Dein Übersichtsblatt holst. Das kannst Du auch für einen Hyperlink verwenden. Die Formel passt sich übrigens bei jeder Namensänderung automatisch an Smile

Arbeitsblatt mit dem Namen 'Tabelle1'
A
1Willi

ZelleFormel
A1=HYPERLINK("#" & Willi!C1 & "!A1";Willi!C1)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Den Blattnamen kannst Du mit einem kleinen Makro ändern. Das hier gehört in das Codemodul von DieseArbeitsmappe und ändert bei jeder Berechnung den Namen des Blattes, wo gerechnet wird. Wenn man weiß, wo für Deine Zelle C1 die Bestandteile herkommen, könnte man auch auf eine Änderung der Bestandteile reagieren. Dann müsste Excel vielleicht nicht bei jeder Berechnung die Namen ändern Smile

Das Makro hat übrigens keine Fehlerbehandlung. So könnte der Blattname bereits für ein anderes Blatt vergeben sein oder es sind ungültie Zeicen drin oder der Name ist zu lang oder …

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Sh.Cells(1, 3).Value <> "" Then Sh.Name = Sh.Cells(1, 3).Value
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste