Worksheets und Button-Captions nach manueller Änderung eines Worksheetnamens per VBA umbenennen

KPG

Grünschnabel
Hallo EXCEL-Spezialisten,

werhat eine Idee zu diesem Problem?

Ein Workbook hat Sheets mit den folgenden Sheet-Namen:
|Int2014|, |2014|, |KTO_2014|, |int2015|, |2015|, |KTO_ 2015| etc.

Wenn nun z. B. der Sheet-Name |2014| auf |2024| geändert wird, dann sollen sich automatisch auch die anderen beiden auf |int2024| und |KTO_2024| verändern. Für | 2015 |, || 2016 | etc. ebenso.

Gleichzeitig soll sich der Text auf einem ToggleButton (Caption) im Sheet |Auswertung| von 2014 auf 2024 ändern.

Den Teil mit den Buttons löse ich bisher so, indem ich im VBA die Werte ändere.

Der erste Teil dient lediglich dazu, den Passwortschutz der einzelnen Worksheets und des Workbooks aufzuheben und ein paar optische Dinge und Funktionen ein- bzw. auszublenden.


Public Sub Passwort_ReSet()
' Passwort in allen Sheets AUFHEBEN​
Dim i As Integer
Dim p As String
p = "Passwort"​

For i = 1 To Worksheets.Count
Worksheets(i).Activate
With ActiveWindow
Worksheets(i).Unprotect Password:=p
ActiveWindow.DisplayHeadings = True
Application.DisplayFormulaBar = True
Application.CommandBars("Formatting").Visible = True
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Worksheet Menu Bar").Enabled = True​
End With​
Next i
' Arbeitsmappen-Passwort AUFHEBEN​
ActiveWorkbook.Unprotect Password:=p
ThisWorkbook.Worksheets("Auswertung").Activate
ActiveSheet.ToggleButton1.Caption = "2014" '
ActiveSheet.ToggleButton2.Caption = "2015" ' Beschriftungen der
ActiveSheet.ToggleButton3.Caption = "2016" '
ActiveSheet.ToggleButton4.Caption = "2017" ' ToogleButtons auf dem
ActiveSheet.ToggleButton5.Caption = "2018" '
ActiveSheet.ToggleButton6.Caption = "2019" ' Blatt "Auswertung" festlegen
ActiveSheet.ToggleButton7.Caption = "2020" '​
Range("F4").Select​

End Sub


Die aktuellen Sheet-Namen liegen in Sheet |int2014| in der Zelle A1 (2014), A2 (KTO_2014), A3 (int2014).
Sie werden dort mittels Formel eingetragen:
=RECHTS(ZELLE("Dateiname";KTO_2014!A1);8)

Wie bekomme ich nun EXCEL dazu, nach Wechsel des Sheet-Namen |2014| auch die anderen Beiden Sheets |int2014| und |KTO_2014| umzubenennen?

Herzlichen Dank im voraus an alle kompetenten Helfer.

Freundliche Grüße
Klaus-Peter
 

Anhänge

  • upload_2016-5-31_9-57-4.png
    upload_2016-5-31_9-57-4.png
    407 Bytes · Aufrufe: 11
Hier mal eine Funktion um das Jahr zu wechseln
Visual Basic:
Public Sub renameSheets(ByVal iOldYear As String, ByVal iNewYear As String)
    Dim ws As Worksheet
    
    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name Like "*" & iOldYear Then
            ws.Name = Left(ws.Name, Len(ws.Name) - Len(iOldYear)) & iNewYear
        End If
    Next ws
End Sub
 
Vielen Dank für die schnelle Antwort, Yaslaw !

Wenn ich das ausprobiere (in einem neuen leeren Workbook), dann öffnet sich das Makrofenster (leer) und mir bleibt nur die Möglichkeit "Abbruch"-Button.

Was mache ich falsch?

Freundliche Grüße
Klaus-Peter
 
Zuletzt bearbeitet:
Zurück