HERBERS Excel-Forum - das Archiv
Arbeitsblätter sortieren Fehler bei Umlauten
Markus

Hi,
es gibt ne Arbeitsmappe mit dutzenden Arbeitsblätter und auch Bezeichnungen mit Umlauten. Leider sortiert Excel mit der u.g. Routine da etwas komisch sprich "Söhne" kommt hinter "Sturm". Das ist aber nicht richtig.
Kann man das ändern?
'Aufsteigende Sortierung der Tabellen nach dem Tabellennamen


Sub Tabellensort_aufsteigend()
For i = 1 To Worksheets.Count - 1
X = Worksheets(i).Name
For j = i + 1 To Worksheets.Count
If Worksheets(j).Name < X Then
X = Worksheets(j).Name
End If
Next j
Worksheets(X).Move Before:=Worksheets(i)
Next i
End Sub


AW: Arbeitsblätter sortieren Fehler bei Umlauten
Rudi

Hallo,
so:


Sub Tabellensort_aufsteigend()
Dim strName As String
For i = 1 To Worksheets.Count - 1
X = Worksheets(i).Name
For j = i + 1 To Worksheets.Count
If fncUmlaut(Worksheets(j).Name) < fncUmlaut(Worksheets(i).Name) Then
X = Worksheets(j).Name
End If
Next j
Worksheets(X).Move Before:=Worksheets(i)
Next i
End Sub



Function fncUmlaut(txt As String) As String
'Ersetzt Umlaute in einem Text
Dim i As Integer
For i = 1 To Len(txt)
Select Case Mid(txt, i, 1)
Case "Ä": fncUmlaut = fncUmlaut & "Ae"
Case "Ö": fncUmlaut = fncUmlaut & "Oe"
Case "Ü": fncUmlaut = fncUmlaut & "Ue"
Case "ä": fncUmlaut = fncUmlaut & "ae"
Case "ö": fncUmlaut = fncUmlaut & "oe"
Case "ü": fncUmlaut = fncUmlaut & "ue"
Case "ß": fncUmlaut = fncUmlaut & "ss"
Case Else: fncUmlaut = fncUmlaut & Mid(txt, i, 1)
End Select
Next i
End Function


Gruß
Rudi

AW: Arbeitsblätter sortieren Fehler bei Umlauten
Markus

Moin Rudi,
Treffer, genauso so soll es sein.
Vielen Dank für die Express-Lösung
Markus