Ich muss meine Blätter in einer bestimmten Reihenfolge neu anordnen. Wenn noch welche übrig sind, tun Sie dies alphabetisch. Ich habe das Makro unten, um sie alphabetisch neu zu ordnen.
Wenn ich die Blätter "METALS", "SVOC", "GENCHEM" usw. habe, möchte ich, dass diese immer in alphabetischer Reihenfolge vorliegen. Danach sollten alle anderen Blätter "Apple", "Zebra", "Lion" folgen alphabetischer Reihenfolge.
Ich habe diesen Code ausprobiert, aber nicht geklappt
Sheets("GENCHEM").Move Before:=Sheets(1)
Sheets("METALS").Move Before:=Sheets(2)
Sheets("PCBS").Move Before:=Sheets(3)
Sheets("OC_PEST").Move Before:=Sheets(4)
Sheets("SVOC").Move Before:=Sheets(5)
Sheets("VOC").Move Before:=Sheets(6)
'------- Mein Arbeitsmakro unten ----
Option Explicit
Sub reordersheets()
'---Reorders the Sheets---
Dim N As Integer
Dim M As Integer
Dim FirstWSToSort As Integer
Dim LastWSToSort As Integer
Dim SortDescending As Boolean
SortDescending = False
If ActiveWindow.SelectedSheets.Count = 1 Then
FirstWSToSort = 1
LastWSToSort = Worksheets.Count
Else
With ActiveWindow.SelectedSheets
For N = 2 To .Count
If .Item(N - 1).Index <> .Item(N).Index - 1 Then
MsgBox "You cannot sort non-adjacent sheets"
Exit Sub
End If
Next N
FirstWSToSort = .Item(1).Index
LastWSToSort = .Item(.Count).Index
End With
End If
For M = FirstWSToSort To LastWSToSort
For N = M To LastWSToSort
If SortDescending = True Then
If UCase(Worksheets(N).Name) > UCase(Worksheets(M).Name) Then
Worksheets(N).Move Before:=Worksheets(M)
End If
Else
If UCase(Worksheets(N).Name) < UCase(Worksheets(M).Name) Then
Worksheets(N).Move Before:=Worksheets(M)
End If
End If
Next N
Next M
End Sub
PCBS
vor OC_PEST
- das ist nicht alphabetisch.