Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellenblattnamen in Tabellenblatt anzeigen

Betrifft: Tabellenblattnamen in Tabellenblatt anzeigen von: KT
Geschrieben am: 08.07.2013 09:39:32

Hallo,

ich habe eine Tabelle mit mehreren Tabellenblättern.

In einem separatem Tabellenblatt möchte ich eine Auflistung dieser Tabellenblattnamen haben, so dass, wenn ein Blatt umbenannt wird, dieser Eintrag in der Auflistung automatisch mit abgeändert wird.

Kann mir jemand einen Tipp geben, wie ich es umsetzen kann?

Vielen Dank.

KT

  

Betrifft: AW: Tabellenblattnamen in Tabellenblatt anzeigen von: Hajo_Zi
Geschrieben am: 08.07.2013 09:48:07




vorhandene Tabellen

 AB
2Tabelle1 
3Tabelle2 
4Tabelle3 
5   
6   
7  Hi Holger,
8   
9  hatte diese Frage auch grad in einem anderen Forum (anderer Fragesteller) so beantwortet:
10   
11  Einfügen -> Namen -> Definieren/Festlegen, Name: x
12  bezieht sich auf:
13  =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT() )
14   
15  In irgendeine Zelle jetzt diese Formel und runterkopieren:
16  =WENN(ZEILEN($1:1) >VERGLEICH("";x;-1) ;"";TEIL(INDEX(x;ZEILEN($1:1) ) ;FINDEN("]";INDEX(x;ZEILEN($1:1) ) ) +1;31) )
17   
18  Grüße Boris
19   
20   
21  Formel runter ziehen falls Mehr Tabellen

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
B4:B6,B19:B20=WENN(ISTFEHLER(INDIREKT(A4&"!B4:D4") ) ;"";INDIREKT(A4&"!B4:D4") )   =IF(ISERROR(INDIRECT(RC[-1]&"!B4:D4") ) ,"",INDIRECT(RC[-1]&"!B4:D4") )
A2:A6,A19:A21=WENN(ZEILEN($1:1) >VERGLEICH("";x;-1) ;"";TEIL(INDEX(x;ZEILEN($1:1) ) ;FINDEN("]";INDEX(x;ZEILEN($1:1) ) ) +1;31) )   =IF(ROWS(R1:R[-1]) >MATCH("",x,-1) ,"",MID(INDEX(x,ROWS(R1:R[-1]) ) ,FIND("]",INDEX(x,ROWS(R1:R[-1]) ) ) +1,31) )

definierte Namen
Name Bezieht sich auf Tabelle Z1S1-Formel
Test='vorhandene Tabellen'!$A$4:$A$12 ='vorhandene Tabellen'!Z4S1:Z12S1
x=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT()) =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())

XHTML Tabelle für Darstellung in Foren,
einschl. Bedingter Formatierung ab Version 2007
XHTML-Version 11.30 einschl 64 Bit Version




GrußformelHomepage


  

Betrifft: AW: Tabellenblattnamen in Tabellenblatt anzeigen von: KT
Geschrieben am: 08.07.2013 10:13:01

Hallo Hajo,

ich habe versucht, deinen Tipp nachzuverfolgen, bin aber kläglich gescheitert. Könntest du mir ggf. dein Beispiel als excel-file zur Verfügung stellen. Das würde mir sehr helfen, um deinen Tipp auch nachvollziehen zu können.

Vielen Dank.

Grüße
KT


  

Betrifft: AW: Tabellenblattnamen in Tabellenblatt anzeigen von: Hajo_Zi
Geschrieben am: 08.07.2013 10:15:35

https://www.herber.de/bbs/user/86246.xls

Gruß Hajo


  

Betrifft: AW: Tabellenblattnamen in Tabellenblatt anzeigen von: KT
Geschrieben am: 08.07.2013 10:39:36

Hallo Hajo,

vielen Dank.

Manchmal brauchts halt etwas länger :-)

Grüße
KT


  

Betrifft: Namen definieren von: Klaus M.vdT.
Geschrieben am: 08.07.2013 10:15:55

Hallo KT,

du musst eine Formel als Namen definieren. Entweder du bekommst das hin (auf Name clicken, Name "x" anlegen, Formel definieren) ... oder es hilft dir ebensowenig, wenn das jemand für dich in einer Beispielmappe gemacht hat ;-)

In Hajos antwort steht alles drin was du brauchst. Sogar zweimal.

Grüße,
Klaus M.vdT.


  

Betrifft: AW: Namen definieren von: Hajo_Zi
Geschrieben am: 08.07.2013 10:19:10

Hallo Klaus,

und mit dem Add In könnte er auch die Tabelle in seiner Datei erstellen. Damit ist der Name angelegt.

Gruß Hajo


  

Betrifft: AW: Namen definieren von: KT
Geschrieben am: 08.07.2013 10:42:38

Hallo Klaus,

ich habe die Tipps von Hajo nicht auf Anhieb verstanden, von daher hat die Tabelle, aber auch dein Kommentar weitergeholfen.

Vielen Dank.

Grüße
KT


  

Betrifft: AW: Tabellenblattnamen in Tabellenblatt anzeigen von: Klaus M.vdT.
Geschrieben am: 08.07.2013 09:49:07

Hallo KT,

in dein Blatt "Inhalt" (oder wie immer es heisst) direkt folgenden Code:

Private Sub Worksheet_Activate()
Dim i
With Sheets("Inhalt")
    .Columns(1).ClearContents
    .Range("A1").Value = "Blätter"
    For i = 1 To ActiveWorkbook.Worksheets.Count
        .Range("A" & i + 1).Value = Sheets(i).Name
    Next i
End With
End Sub
Zellen, Spalten, Namen usw anpassen!

Grüße,
Klaus M.vdT.


  

Betrifft: AW: Tabellenblattnamen in Tabellenblatt anzeigen von: KT
Geschrieben am: 08.07.2013 10:18:45

Hallo Klaus,

dein VBA funktioniert. Wenn ich es richtig sehe, funktioniert es nur, wenn ich zum Tabellenblatt "Inhalt" wechsel.

Wenn ich Formelverknüpfungen zum Blatt "Inhalt" habe, dann würden diese m.E. nicht funktionieren, sofern ich nicht vorher das Tabellenblatt "Inhalt" aktiviert habe. Gibt es hierfür auch eine Lösung?

Grüße
Uwe


  

Betrifft: AW: Tabellenblattnamen in Tabellenblatt anzeigen von: Klaus M.vdT.
Geschrieben am: 08.07.2013 10:25:44

Hallo Uwe,

du könntest das Script natürlich bei jedem "selection.change" in jedem Tabellenblatt ausführen. Von solchen "Overkill"-Lösungen halte ich persöhnlich allerdings nichts.
Wie öft änderst du denn Tabellenblattnamen? Und machst du das per Hand, per Makro, per Button ... wo und wann dies Script aufgerufen wird ist ja variabel, ich hielt nur "Anzeigen des Blattes Inhalt" als valide für eine Musterlösung. Welche Aufrufvariante für dich sinnvoll ist, musst du entscheiden. Vielleicht legst du das Script auch auf einen Tastenshortcut?

Wenn du eine Formel-akutelle Lösung möchtest, rate ich dir Hajo's Tip anzusehen, der ist da geeigneter.

Grüße,
Klaus M.vdT.


  

Betrifft: AW: Tabellenblattnamen in Tabellenblatt anzeigen von: KT
Geschrieben am: 08.07.2013 10:44:55

Hallo Klaus,

ich werde Hajos Lösung übernehmen.

Grüße
KT


 

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblattnamen in Tabellenblatt anzeigen"