Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Umlaute ersetzen beim öffnen

Umlaute ersetzen beim öffnen
13.08.2021 12:38:55
Marcel
Hallo zusammen,
ich möchte gerne per VBA folgendes realisieren -> Beim Öffnen der Excel Datei sollen alle Umlaute automatisch ersetzt werden.
Ich habe hierzu folgendes gefunden:

Sub ErsetzeUmlaute()
Dim Zelle As Range
With Application.WorksheetFunction
For Each Zelle In Selection
Zelle.Value = .Substitute(.Substitute(.Substitute(.Substitute( _
.Substitute(.Substitute(.Substitute(Zelle.Value, "ä", "ae"), _
"ö", "oe"), "ü", "ue"), "Ö", "Oe"), "Ü", "Ue"), "ß", "ss"), _
"Ä", "Ae")
Next Zelle
End With
End Sub
>
Dieses funktioniert jedoch nur wenn ich vorher die entsprechenden Zellen markiere, was ich aber nicht möchte.
Er sollte automatisch beim start alle Umlaute in der Arbeitsmappe ersetzen.
Könnt Ihr hier weiterhelfen? Ich bin ein absoluter Neuling was VBA anbelangt.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umlaute ersetzen beim öffnen
13.08.2021 12:49:02
{Boris}
Hi,
Selection verlangt - wie zu vermuten - eine vorherige Selektion.
Pack mal folgendes Makro in das Klassenmodul "DieseArbeitsmappe":

Private Sub Workbook_Open()
Dim Zelle As Range, Ws As Worksheet
For Each Ws In ThisWorkbook.Worksheets
For Each Zelle In Ws.UsedRange
With Application.WorksheetFunction
Zelle.Value = .Substitute(.Substitute(.Substitute(.Substitute( _
.Substitute(.Substitute(.Substitute(Zelle.Value, "ä", "ae"), _
"ö", "oe"), "ü", "ue"), "Ö", "Oe"), "Ü", "Ue"), "ß", "ss"), _
"Ä", "Ae")
End With
Next Zelle
Next Ws
End Sub
VG, Boris
Anzeige
AW: Umlaute ersetzen beim öffnen
13.08.2021 13:03:29
onur
Dan wir der TÜV zum TUeV ?
Das halte ich in diesem Fall für angebracht, ...
13.08.2021 23:39:55
Luc:-?
…Onur,
da es sich um den Ersatz von Buchstaben mit diakritischen Zeichen handelt, die auch bei nur groß geschriebenen Wörtern, speziell Abkürzungen, kein separates Graphem/Wort des/r Wortes/Abkürzung wären. Was bei nur groß geschriebenen Worten ggf wichtig wäre, ist, dass seit 2017 zum ß auch ein Großbuchstabe amtlich ist, um dt Wörter in Großbuchstaben sinnvoller schreiben zu können (MASSE und MAẞE). Falls ß/ẞ also ebenfalls ersetzt wdn muss, halte ich neben ss/Ss auch sz/Sz für sinnvoll, denn schließlich heißt der Buchstabe ja auch so.
Gruß, Luc :-?
Anzeige
AW: Das halte ich in diesem Fall für angebracht, ...
13.08.2021 23:41:52
onur
Und ausserdem würde TUEV auch seltsam aussehen :).
AW: Umlaute ersetzen beim öffnen
13.08.2021 12:58:10
Nepumuk
Hallo,
in das Modul "DieseArbeitsmappe":

Option Explicit
Private Sub Workbook_Open()
Dim objWorksheet As Worksheet
For Each objWorksheet In Worksheets
With objWorksheet.UsedRange
Call .Replace(What:="ä", Replacement:="ae", LookAt:=xlPart, MatchCase:=True)
Call .Replace(What:="Ä", Replacement:="Ae", LookAt:=xlPart, MatchCase:=True)
Call .Replace(What:="ö", Replacement:="oe", LookAt:=xlPart, MatchCase:=True)
Call .Replace(What:="Ö", Replacement:="Oe", LookAt:=xlPart, MatchCase:=True)
Call .Replace(What:="ü", Replacement:="ue", LookAt:=xlPart, MatchCase:=True)
Call .Replace(What:="Ü", Replacement:="Ue", LookAt:=xlPart, MatchCase:=True)
Call .Replace(What:="ß", Replacement:="ss", LookAt:=xlPart, MatchCase:=True)
End With
Next
End Sub
Gruß
Nepumuk
Anzeige
Oder so:
13.08.2021 18:11:47
RPP63
Moin!
Sub WEG_DAMIT()
Dim ws, Arr_1, Arr_2, i&
Arr_1 = Split("ä ö ü ß Ä Ö Ü")
Arr_2 = Split("ae oe ue ss Ae Oe Ue")
For Each ws In Worksheets
  For i = 0 To 6
    ws.Cells.Replace Arr_1(i), Arr_2(i), xlPart, MatchCase:=True
  Next
Next
End Sub
Gruß Ralf
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige