title image


Smiley Tabellenblätter sortieren
Hallo!



Ich möchte in Excel 2002 gerne Tabellenblätter auf zwei Wegen automatisch sortieren:



a) Einfach nach den Namen der Blätter, die da wären z.B.

- Maßnahmenpaket 01

- Maßnahmenpaket 02

- Maßnahmenpaket 03

- Maßnahmenpaket 04

und so weiter.









b) Sortierung über ein Hilfsblatt, in dem ich den Projektnamen

- Projekt abc

- Projekt fes

- Projekt wuf

- Projekt sdr

in der nächsten Spalte einen Tabellenblattnamen individuell zuweisen kann.

- Projekt abc Maßnahmenpaket 02

- Projekt fes Maßnahmenpaket 03

- Projekt wuf Maßnahmenpaket 01

- Projekt sdr Maßnahmenpaket 04



Die Reihenfolge der Blätter ergibt sich rechnerisch aus Potentialen der Projekte.



Die Namen der Projekte stehen immer an der gleichen Stelle in den Tabellenblättern, z.B. in Zelle E3.



Eine Lösung wäre, dass man alle Tabellenblätter mit dem Wort "Maßnahmenpaket" im Namen erst einmal fortlaufend umbenennt, um bei der neuen Namensvergabe doppelte Tabellenblattnamen zu vermeiden --- sonst gibt es beim Umbenennen vielleicht zwei Blätter nahmens 'MPaket 02'.

Danach halt je nun fortlaufend nummeriertem Blatt den Projektnamen aus Zelle E3 auslesen und aus der Liste im Hilfsblatt den neuen Namen zuweisen.

Nun 'nur' noch die Blätter aufsteigend sortieren, fertig.









Für Weg a) habe ich folgenden Code gefunden:

(http://www.spotlight.de/zforen/amse/m/amse-959252827-646.html)



Sub BlätterSortieren()

Dim WS As Worksheet

Set WS = ActiveSheet

Anzahl = ActiveWorkbook.Worksheets.Count

For x = 1 To Anzahl

For y = x To Anzahl

If Worksheets(y).Name < Worksheets(x).Name Then Worksheets(y).Move Before:=Worksheets(x)

End If

Next y

Next x

End Sub



Das liefert mir aber leider den Fehler "End If ohne If Block".









Kann mir jemand helfen??



Selbst verstehe ich VBA leider nur sehr rudimentär.



Viele Grüße

'Moppele'

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: