Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellenblatname in Zelle eintragen | Herbers Excel-Forum


Betrifft: Tabellenblatname in Zelle eintragen von: obelix-xxl
Geschrieben am: 17.01.2012 10:32:30

Hallo,

ich bitte um Unterstützung bei folgendem Problem.

Ich suche ein Makro mit dem ich die bereits vorhandenen Tabellenblattnamen einer Vielzahl von Tabellen einer Arbeitsmappe in die Zelle C 8 eintragen kann.

Über eure Unterstützung würde ich mich sehr freuen.

obelix

  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: Reinhard
Geschrieben am: 17.01.2012 10:39:42

Hallo Obelix,

Sub tt()
Dim Liste As String, L As Integer
For L = 1 To ThisWorkbook.Worksheets.Count
  Liste = Liste & ThisWorkbook.Worksheets(L).Name & ","
Next L
Range("C8").Value = Left(Liste, Len(Liste) - 1)
End Sub

Gruß
Reinhard


  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: obelix-xxl
Geschrieben am: 17.01.2012 10:54:43

Hallo Reinhard,

danke für die Unterstützung.
Leider habe ich das Problem nicht sauber umschrieben?

Mit deiner Lösung werden ALLE Tabellenblattnamen der gesamten Arbeitsmappe in eine Zelle geschrieben.

Ich möchte jedoch den Tabellenblattnamen eines jeden Tabellenblattes im dazugehörigen Tabellenblatt in Zelle C8 automatisch eintragen lassen.

Kannst du mal bitte dahingehend eine Lösung aufzeigen?

Danke.

obelix


  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: Josef_T
Geschrieben am: 17.01.2012 11:05:49

Hallo Obelix,

meints Du soetwas?

=TEIL(ZELLE("Dateiname";A1);FINDEN("]";ZELLE("Dateiname";A1))+1;255)

Gruß
Josef


  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: obelix-xxl
Geschrieben am: 17.01.2012 11:17:17

Hallo Josef,

deine Formel habe ich eingetragen.
In der Zelle wird dann #WERT! als Ergebnis dargestellt.

obelix


  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: hary
Geschrieben am: 17.01.2012 11:25:55

Hallo
speicher mal die Mappe und mach sie wieder auf.
gruss hary


  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: Reinhard
Geschrieben am: 17.01.2012 11:26:30

Hallo Obelix,

hast du das in einer ungespeicherten Mappe getestet?

zwei andere Lösungen, eine mit formel:

Sub tt()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
  wks.Range("C8").Value = wks.Name
Next wks
End Sub

Sub tt2()
Dim wks As Worksheet, Formel As String
Formel = "=mid(GET.CELL(32),find(""]"",GET.CELL(32))+1,99)"
ThisWorkbook.Names.Add Name:="Blatt", RefersToR1C1:=Formel
For Each wks In ThisWorkbook.Worksheets
  wks.Range("C8").Formula = "=Blatt"
Next wks
End Sub

Gruß
Reinhard


  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: obelix-xxl
Geschrieben am: 17.01.2012 11:58:27

Hallo
Reinhard, Josef_T und hary.

toll, jetzt habe ich alle drei Lösungen ausprobiert und alle funktionieren.

Ich werde aber eine Makrolösung nutzen. Die Lösung mit der Formel finde ich für eine andere Anwendung prima und habe mir diese bereits zu den Makrolösungen notiert.

Vielen, vielen Dank für Eure Unterstützung.

obelix


  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: obelix-xxl
Geschrieben am: 17.01.2012 12:08:50

Hallo,

da war ich wohl zu schnell mit den fertigen Makrolösungen.

Nach dem Ausführen der beiden Makros steht jetzt nur im ersten Tabellenblatt der richtige Name eingetragen.
Alle anderen Tabellenblätter haben jetzt auch den Tabellenblattnamen des ersten Tabellenblattes.
Diese Tabellenblätter, vom 2. bis letzten benötigen jedoch ihren eigenen Namen.

Könnt ihr mir bitte hierfür eine Lösung aufzeigen?

obelix


  

Betrifft: AW: Tabellenblatname in Zelle eintragen von: obelix-xxl
Geschrieben am: 17.01.2012 12:10:00

Hallo,

da war ich wohl zu schnell mit den fertigen Makrolösungen.

Nach dem Ausführen der beiden Makros steht jetzt nur im ersten Tabellenblatt der richtige Name eingetragen.
Alle anderen Tabellenblätter haben jetzt auch den Tabellenblattnamen des ersten Tabellenblattes.
Diese Tabellenblätter, vom 2. bis letzten benötigen jedoch ihren eigenen Namen.

Könnt ihr mir bitte hierfür eine Lösung aufzeigen?

obelix


  

Betrifft: kann nicht sein, zeig dein Makro ! ow von: robert
Geschrieben am: 17.01.2012 12:15:36




  

Betrifft: AW: kann nicht sein, zeig dein Makro ! ow von: obelix-xxl
Geschrieben am: 17.01.2012 12:25:22

Hallo robert,

hier die beiden Makros (siehe auch oben).

Sub tt()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
  wks.Range("C8").Value = wks.Name
Next wks
End Sub

eine weitere Lösung:
Sub tt2()
Dim wks As Worksheet, Formel As String
Formel = "=mid(GET.CELL(32),find(""]"",GET.CELL(32))+1,99)"
ThisWorkbook.Names.Add Name:="Blatt", RefersToR1C1:=Formel
For Each wks In ThisWorkbook.Worksheets
  wks.Range("C8").Formula = "=Blatt"
Next wks
End Sub
obelix


  

Betrifft: vergiss die zweite Lösung... von: robert
Geschrieben am: 17.01.2012 12:34:19

Hi,

die erste funktioniert und ist einfacher ;-)

Gruß
robert


  

Betrifft: AW: vergiss die zweite Lösung... von: obelix-xxl
Geschrieben am: 17.01.2012 13:07:55

Hallo robert,

danke für deine Mühe.

ja, die erste Lösung funktioniert einwandfrei.

obelix


  

Betrifft: Der Dank gebührt Reinhard ;-)) owT von: robert
Geschrieben am: 17.01.2012 13:27:16




  

Betrifft: AW: Der Dank gebührt Reinhard ;-)) owT von: obelix-xxl
Geschrieben am: 17.01.2012 13:47:23

Hallo Robert,

die erste Antwort ist meist die Beste. So wie im wahren Leben.

D A N K E.

obelix


Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatname in Zelle eintragen"