Code optimieren?
27.04.2017 14:34:53
Max2
ich möchte Tabellen "sortieren", dafür habe ich einen kleinen Code geschrieben.
Dort erstelle ich eine ArrayList und Nutze ArrayList.Sort um mir Arbeit und Mühe zu sparen.
Blattnamen sind wie folgt: Doku, Übersicht, Spur_1 bis xy
Das blatt "Doku" soll an pos1, das Blatt "Übersicht" an pos2(wird jetzt immer an letzte Position geschoben), die Spuren dann nach Größe der Zahl(das macht mir .Sort schon)
Mein Code gefällt mir aber nicht wirklich... kommt ihr auf was besseres oder schnelleres?
Sub sort_sheets()
Dim ws As Worksheet
Dim wb As Workbook
Dim counter As Integer
Dim sheetArray
Dim i, j
i = 1: j = 1
Set wb = ThisWorkbook
Set sheetArray = CreateObject("System.Collections.arraylist")
For Each ws In wb.Sheets
sheetArray.Add ws.name
Next ws
sheetArray.Sort
counter = ThisWorkbook.Sheets.Count
Do
Set ws = ThisWorkbook.Sheets(i)
If ws.name sheetArray(i - 1) Then
Do Until j > counter Or ws.name = sheetArray(j - 1)
j = j + 1
Loop
Worksheets(i).Move Before:=Worksheets(j)
End If
j = 1
i = i + 1
Loop Until i > counter
sheetArray.Clear
Set ws = Nothing
Set wb = Nothing
End Sub