umbenennen mehrerer Arbeitsblätter aus Liste mithilfe von VBA

Ich bin neu in VBA und versuche, Namen von Arbeitsblättern aus einer Liste. Ich habe eine Datei mit 133 Arbeitsblätter und wollen die Namen jedes Blatt aus einer Liste in einem der Arbeitsblätter. Die Zellen B1-thru-B133 hat eine Liste mit den gewünschten Namen, in den Zellen c1 bis c133 hat Blattnamen (Blatt1 durch Blatt 133). Ich habe versucht 2 verschiedene codes ohne Erfolg. Was bin ich?

Hier ist ein Auszug von dem, was die Spalten B & C Aussehen.

File details                    Sheet 1
Sheet Names                     Sheet 23
Calc Notes                      Sheet 2
Rank comparison - baseline      Sheet 3
Trend - Top 30 ct vs baseline   Sheet 5
Trend - Top 30 dur vs baseline  Sheet 6
Trend - Top 30 MTBF vs baseline Sheet 7
Trend - Top 30 ct_dur vs base   Sheet 8
Avail, MTBeF, MTTR scorecard    Sheet 10
Avail, MTBeF, MTTR - Excluded   Sheet 11
All-in vs Excluded              Sheet 12
Summary all lines - count            Sheet 13
Summary all lines - duration    Sheet 14
fault - count                   Sheet 15
fault - duration                Sheet 16
gap count-query vs fault sum    Sheet 17
gap duration-query vs fault sum Sheet 18
missing faults                  Sheet 20
query                           Sheet 9
Prod unit ref                   Sheet 21
Pd Wk ref                       Sheet 22
Query ref                       Sheet 4
FTT                             Sheet 19

#1 (Laufzeitfehler '424')

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim x As Integer
Dim y As Integer
Dim z As Integer
x = 1
y = 133

For z = 1 To 133
sheetz.Name = Range(Cells(x, 2), Cells(y, 2))
Next z


End Sub

#2 (Laufzeitfehler '91')

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ws As Excel.Worksheet
Dim z As Integer

    For z = 1 To 133
        If ws.Name = Sheetz Then
            Sheetz.Name = Cells(z, 2)
        End If
        Exit For
    Next z

End Sub
Nun, zum einen sehe ich nicht, Sheetz angegebenen Stelle im code. Sie haben es an anderer Stelle definiert?
Nein, habe ich nicht. Ich nahm an, definieren z funktionieren würde. Da Sheetz soll variabel sein, wie sollte Sie definiert werden?
in diesem Fall sollten Sie etwas wie dieses: Sheets(z).Name = Cells(z, 2) oder Sheets("Sheet" & z).Name = Cells(z, 2)
warum ist dein code in Worksheet_SelectionChange-Ereignis ??

InformationsquelleAutor user3066783 | 2014-01-10

Schreibe einen Kommentar