Dieser Code übersetzt alle Wörter in einer Zelle, aber nur die erste sollte in den richtigen Fall gezwungen werden, die anderen Wörter sollten den Fall vom Benutzer geschrieben halten, aber stattdessen erzwingt das erste Wort den richtigen Fall und alle andere Wörter in der Zelle in Kleinbuchstaben. Alle anderen Wörter sollten den ursprünglichen Fall beibehalten.Warum ändert dieser Code die Codes in den richtigen Fall?
Sub TraAdd()
Dim translate As Object 'scritping.Dictionary
Set translate = CreateObject("Scripting.Dictionary")
translate("modens") = "modems"
translate("Modens") = "Modems"
translate("modens,") = "modems,"
translate("Modens,") = "Modems,"
translate("Fruteira,") = "Fruit bowl,"
translate("fruteira,") = "fruit bowl,"
translate("Fruteira") = "Fruit bowl"
translate("fruteira") = "fruit bowl"
translate("muletas") = "crutches"
translate("Muletas") = "Crutches"
translate("muletas,") = "crutches,"
translate("Muletas,") = "Crutches,"
Dim Words As Variant
Dim I As Integer
Words = Split(LCase(activecell.Value))
For I = LBound(Words) To UBound(Words)
If translate(Words(I)) <> "" Then Words(I) = translate(Words(I))
Next
activecell.Value = Join(Words)
activecell.Value = Ucase$(Left$(activecell.Value, 1)) & Right$(activecell.Value, Len(activecell.Value) - 1)
End Sub
Irgendwelche Ideen?
Diese Linie alles drückt Fall zu senken: 'Wörter = Split (LCase (ActiveCell.Value))' –
Soll ich es löschen oder ändern? – ADrex
Es denkt, wenn Sie 'LCase' entfernen, sollte es so funktionieren, wie Sie beabsichtigen. Wie folgt: 'Words = Split (activecell.Value)' –