Clever-Excel-Forum

Normale Version: Tabellenblätter umbennen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe 2 Dateien. Nennen wir SIe Datei 1 und Datei 2 Datei 1 greift in den Formeln auf die Datei 2 zu. z.B folgende Formel
Code:
=WENN('[Übersicht Bestellungen.xls]Tabelle2'!D21=0;"";'[Übersicht Bestellungen.xls]Tabelle2'!D21)


Die Tabellenblätter in der Datei worauf die Formel zugreift werden jeden Monat händisch umbenannt. Dazu werden beide Tabellen geöffnet und dann die Namen geändert.
Beide Dateien sind offen damit sich die Formeln automatisch anpassen

Ich möchte jetzt einen Code schreiben und den per Button (dieser soll einmal auf dem ersten Reiter von Datei 2 sein) der die Tabellenblätter automatisch umbenennt. Der Name der Tabellenblätter steht auf jedem Blatt in Zelle L1. Der Name in L1 wird durch folgende Formel generiert:

Code:
='[Übersicht Bestellungen.xls]Tabelle2'!$L$1:$Q$1
Ich kenn folgenden Code den ich in jedes Tabellenblatt schreibe und der bei Änderung der Zelle die Namen umbenennt. Der bringt mich leider nicht weiter.


Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$L$1" Then
Name = Range("L1")
End If
End Sub
Kann mir jemand helfen?


MfG Sven
Hallo Sven,

folgender Code kommt in ein allgemeines VBA-Modul (Einfügen - Modul):

Code:
Sub TabellenblaetterUmbenennen()
  Dim oWs As Worksheet
  Dim strMeldung As String
  
  On Error Resume Next
  For Each oWs In ActiveWorkbook.Worksheets
    oWs.Name = CStr(oWs.Range("L1").Value)
    If Err.Number > 0 Then
      strMeldung = strMeldung & vbNewLine & "Das Blatt """ & oWs.Name & """ konnte nicht in """ & CStr(oWs.Range("L1").Value) & """ umbenannt werden."
      Err.Clear
    End If
  Next oWs
  On Error Goto 0
  
  If Len(strMeldung) = 0 Then strMeldung = "Alle Blätter wurden umbenannt."
  MsgBox strMeldung
End Sub

Im ersten Blatt fügst Du eine Formular-Schaltfläche oder irgend ein anderes Zeichnungsobjekt ein und weist diese(r/m) dann dieses Makro zu.

Gruß Uwe
Das war ja "einfach"

Ich Danke Dir