Clever-Excel-Forum

Normale Version: Suche nach Umlauten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin allerseits,
Nach längerer Krankheit sitz ich jetzt doch mal wieder an meinem Schreibtisch.
Und dieser biegt sich durch vor Arbeit. Deshalb hoffe ich, dass ich für eine Sache hier evtl. mal eine kleine Hilfe bekomme. Das Problem ist folgendes.
Auf einem Tabellenblatt namens "Peripherie" in Spalte "I" befindet sich eine Liste mit Texten, die später an ein anderes Gerät übergeben werden müssen. Diese Liste hat ein Kollege während meiner Abwesenheit erstellt, wusste aber nicht dass keine Umlaute (ä,ö,ü) oder "ß" enthalten sein dürfen. Ein einfaches suchen und ersetzen täte mir auch nur bedingt helfen, da die Länge des Textes vorgegeben ist. Ich muss also an einigen Stellen nacharbeiten. Es sind ca. 10000 Zeilen und nach vier Augen-OPs wäre ich damit ewig angestrengt, zumal ich auch noch mit Bildschirmlupe arbeite.
Meine Vorstellung ist ein kleines Makro, das mir auf einem anderen Tabellenblatt eine Liste erstellt, wo ich noch mal nacharbeiten muss. Dieses Tabellenblatt täte ich einfach "Fehler" nennen.
Wer kann helfen ?
Hola,


Zitat:da die Länge des Textes vorgegeben ist.



was heißt das genau?

Gruß,
steve1da
(26.03.2020, 08:28)Igelbauer schrieb: [ -> ]Ein einfaches suchen und ersetzen täte mir auch nur bedingt helfen, da die Länge des Textes vorgegeben ist.

Moin!
Obiges verstehe ich nicht!
Ohnehin wäre es sinnvoll, wenn Du mal ein paar konkrete Beispiele mit Ist- und Sollzustand posten würdest.

Gruß Ralf
Hallo Igel,

wenn ein Rückumwandlung nicht benötigt wird, geht es so:

Code:
Sub Main
cells.replace "ä", "ae"
cells.replace "ö", "oe"
cells.replace "ü", "ue"

cells.replace "Ä", "Ae"
cells.replace "Ö", "Oe"
cells.replace "Ü", "Ue"

End Sub

Wenn es etwas komplexer, frage einfach.

mfg
Hi Fen,
geht so leider nicht. Es handelt sich bei den Texten um eine Ortsbeschreibung. Wenn der Text aber länger ist als 26 Zeichen wird hinten einfach abgeschnitten, aber gerade die letzten 3 Zeichen sind immens wichtig. Ich muss ich im Falle eines Falles den Text händisch sinnvol kürzen. Z.B. aus Überwachungsraum dann Ueberwachungsr. machen.
Aber dazu muss ich erstmal alle finden. Und wie schon gesagt - 10000 Zeilen Sad.
Gruss Igel
l
Sorry Steve,
das hilft mir nicht weiter, da es die Texte verlängern würde.
Gruss Igel
Hallo Igel,

probiere mal damit:
Sub FehlerlisteErstellen()
Dim i As Long, j As Long, k As Long, l As Long
Dim varE As Variant
Dim varQ As Variant
Dim varU As Variant
Dim varZ As Variant

varU = Array("ä", "ö", "ü", "Ä", "Ö", "Ü", "ß")
varE = Array("ae", "oe", "ue", "Ae", "Oe", "Ue", "ss")
varQ = Cells(1, 9).Resize(Cells(Rows.Count, 9).End(xlUp).Row).Value
ReDim varZ(1 To UBound(varQ), 1 To 2)

For i = 1 To UBound(varQ)
k = Len(varQ(i, 1))
For j = 0 To 6
varQ(i, 1) = Replace(varQ(i, 1), varU(j), varE(j))
Next j
If Len(varQ(i, 1)) > k Then
l = l + 1
varZ(l, 1) = i
varZ(l, 2) = varQ(i, 1)
End If
Next i

Worksheets("Fehler").Cells(1).Resize(UBound(varZ), 2).Value = varZ
End Sub
Gruß Uwe
Wow !!!
170 Fehler gefunden und aufgelistet.

vielen herzlichen Dank. Schön wieder dabei zu sein.

Alles Beste

Igel