Mehrere Tabellen blätter gleichzeitig umbenennen?

1 Antwort

Ja, das geht mit VBA. Öffne den VBA-Editor (Alt+F11) mach links einen Doppelklick auf "DieseArbeitsmappe" und füge dort diesen Code ein:

Option Explicit

Sub umbenennen()
Dim i As Integer

For i = 1 To 52
  Sheets(i).Name = i & ".KW"
Next i
End Sub

Den Code kannst du ausführen, indem du "umbenennen" markierst und dann oben auf dieses Play-Symbol klickst (oder alternativ F5 drückst).

Wahrscheinlich muss bei jedem Blatt noch in die Tabelle geschrieben werden, welche KW es ist. Das könnte man auch mit VBA umsetzen, aber dafür müsste ich etwas genauer wissen, wie die Blätter aussehen.

Player010650 
Fragesteller
 27.02.2020, 12:14

Leider läst sich der Code nicht ausführen. Ich bekomme einen Laufzeitfehler

0
Player010650 
Fragesteller
 27.02.2020, 12:39
@daCypher

Fehler lautet: Laufzeitfehler 9

Index liegt außerhalb des gültigen Bereichs

0
daCypher  27.02.2020, 12:41
@Player010650

Dann hast du wahrscheinlich weniger als 52 Tabellenblätter angelegt und er kann nicht alle umbenennen. Die Blätter, die vorhanden sind, müsste die Prozedur aber trotzdem verarbeiten können.

0
daCypher  27.02.2020, 12:15

Eine andere interessante Prozedur: Du bereitest das erste Tabellenblatt so vor, wie du es dir vorstellst, schreibst in A1 die Kalenderwoche und in B1 das Datum, mit dem die KW anfängt, und kannst das Blatt dann mit der folgenden Prozedur bis KW 52 kopieren.

Sub kopieren()
Dim i As Integer

For i = 2 To 52
    Sheets(1).Copy after:=Sheets(i - 1)
    Sheets(i).Name = i & ".KW"
    Sheets(i).Range("A1") = i
    Sheets(i).Range("B1") = Sheets(1).Range("B1") + (i * 7)
Next i
End Sub
0
daCypher  27.02.2020, 12:56
@daCypher

Oh, ich sehe grad, dass da noch ein kleiner Fehler drin ist. Die letzte Zeile in der Schleife muss so aussehen:

Sheets(i).Range("B1") = Sheets(1).Range("B1") + ((i - 1) * 7)

sonst addiert er überall eine Woche zu viel zu dem Startdatum.

0