Hallo,
um Umlaute zu ersetzen habe ich folgendes programmiert:
Public Sub vergleich(temp As Worksheet, ergebnis As Worksheet)
Dim name As String, i As Long, x As Long, text2 As String
Dim buchstabe, text As String
Dim name2 As String, text3 As String
For x = 1 To 41
name = temp.Cells(x, 2)
text3 = Chr(32)
For i = 1 To Len(name)
buchstabe = Mid(name, i, 1)
If buchstabe = "ü" Then
buchstabe = "ue"
ElseIf buchstabe = "ö" Then
buchstabe = "oe"
ElseIf buchstabe = "ä" Then
buchstabe = "ae"
ElseIf buchstabe = "ß" Then
buchstabe = "ss"
Else
End If
text2 = text2 & buchstabe
text3 = text2
Next i
ergebnis.Cells(x, 1) = x
ergebnis.Cells(x, 2) = text3
Next x
end sub
Wenn die Schleife ein Mal durch ist, dann schreibe ich es in eine andere Zelle im Worksheet(„ergebnis“). Mein Problem ist, dass in dieser Variable „text3“ immer noch der alte Wert steht. Wie bekomme ich es hin, dass wenn er jedes Mal eine Zelle durch hat, die nächste Zelle nimmt, ohne das er den Wert mit anhängt. D.h.
Zelle1: Äpfel
Nach Schleifendurchlauf: Aepfel
Zelle2: Häuser
Nach schleifendurchlauf: AepfelHaeuser