Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Suche nach Umlauten
#1
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 ?
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Top
#2
Hola,


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



was heißt das genau?

Gruß,
steve1da
Top
#3
(26.03.2020, 09: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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
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
Top
#5
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
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Top
#6
Hola,

ok, da du keine Datei lieferst....

https://www.google.com/search?q=excel+umlaute+ersetzen&rlz=1C1CHBF_deDE810DE810&oq=excel&aqs=chrome.1.69i60j69i59l3j69i60l2j69i61j69i60.2597j0j4&sourceid=chrome&ie=UTF-8

Gruß,
steve1da
Top
#7
Sorry Steve,
das hilft mir nicht weiter, da es die Texte verlängern würde.
Gruss Igel
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Top
#8
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
Top
#9
Wow !!!
170 Fehler gefunden und aufgelistet.

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

Alles Beste

Igel
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste