Clever-Excel-Forum

Normale Version: Tabellenblattname in Zelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Tag Leute,

da mein Problem leider nicht gelöst werden konnte. Werde ich es mal schrittweise versuchen. Gibt es in Excel die Möglichkeit per Makro in Zelle A1 den Tabellenblattnamen von dem linken/rechten Tabellenblatt auszugeben?
Index?
Was ist ein "linkes" oder "rechtes" Tabellenblatt. Sind die politisch gesinnt?
Meinst du womöglich das erste und letzte Tabellenblatt?

Code:
Cells(1, 1) = Sheets(1).Name
Cells(2, 1) = Sheets(Sheets.Count).Name
Danke dir schonmal. Politik lassen wir mal raus :)
ich mein das Tabellenblatt links oder rechts von dem aktuell ausgewählten. 

Ein Beispiel: In A1 der Tabelle2 sollte der Tabellenblattname "Tabelle1" stehen in A2 sollte "Tabelle3" stehen.

Bitte nicht über letzte und erste Tabellenblatt, da sehr viele Tabellenblätter eingefügt werden.
Dann solltest du deine Beschreibung künftig auch so stellen, dass sie ein Außenstehender versteht :)

Code:
Cells(1, 1) = ActiveSheet.Index - 1

Die Lösung für das Blatt rechts überlasse ich jetzt mal deiner Fantasie... https://www.youtube.com/watch?v=fJFIydNZnfk
Ja tut mir leid, ist manchmal etwas schwer, wenn man sich selber mit einem Thema so beschäftigt.
Okay soweit so gut, aber ich hätte gerne den Tabellenblattnamen, nicht "Stelle" an der das Tabellenblatt ist.
Hallo,
eigentlich benötigst du dafür kein Makro, obwohl ich sie lieben gelernt habe. Schau dir mal meine Beispieltabelle an ...
Lg
Marcus
Wahnsinn danke!
Zum Verständnis, kannst du mir erklären wieso er in A2 und A3 genau dies ausgibt? Ist wirklich verblüffend.

Oh man habe nicht richtig geschaut!!! danke! alles ist klar !
Hallo

ganz korrekt und sachlich könnte die Lösung so wie unten im Code aussehen:  
Zu beachten ist das man kein Blatt Index < 1 oder Index > Anzahl aller Tabellen angeben kann. Das ergibt  Laufzeitfehler! Deshalb die IF Then Prüfung!

mfg  Gast 123

Code:
Sub Tabellen_Name_ermitteln()
Dim Indx As Integer, Zahl As Integer
Indx = ActiveSheet.Index
Zahl = ThisWorkbook.Worksheets.Count

'nur Linkes oder Rechts Blatt dann so!
If Indx > 1 Then ActiveSheet.Range("A1").Value = Worksheets(Indx - 1).Name
If Indx < Zahl Then ActiveSheet.Range("A1").Value = Worksheets(Indx + 1).Name

'Linkes und Rechts Blatt gemeinsam dann so!
If Indx > 1 And Indx < Zahl Then
  ActiveSheet.Range("A1").Value = Worksheets(Indx - 1).Name & " / " & Worksheets(Indx + 1).Name
End If
End Sub
Hallo,
schön dass ich dir helfen konnte. Für die Vollständigkeit. In jedem Tabellenblatt steht die selbe Formel. Diese könnte man ausblenden, in dem man die Schriftfarbe der Zelle anpasst Wink, Der Rest wird einfach mit dem Verweis auf die Zelle, in das Tabellenblatt gemacht.

Hättest Du mich jetzt gefragt, ob ich Dir die Formel erklären könnte ... Kann ich nicht. Ich habe hier nur einiges an Daten aus meiner Vergangenheit rumfliegen.

Wünsche Dir einen schönen Tag.
Marcus
Gast123 ganz ganz STARKE Vorstellung, genau das habe ich gesucht!
Seiten: 1 2