Textfeld umsetzen auf Großbuchstaben



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Textfeld umsetzen auf Großbuchstaben
von: Caroline
Geschrieben am: 11.07.2002 - 14:41:51

Ich möchte per VBA (nicht per Makro, da hätte ich's schon geschafft) in einer Spalte mit Namen im Format 'Müller, Peter' alle Buchstaben auf Großbuchstaben und alle Umlaute umsetzen, damit ein Format 'MUELLER, PETER' rauskommt.
Ich habe wohl eine Funktion Application.WorksheetFunction.Substitute gefunden, aber kein 'UPPER' (wie es in einer Formel heißt).
Ich habe es jetzt so versucht, aber das dauert ewig.
Es geht doch sicher auch einfacher!

Do While ActiveCell.Value <> ""
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "a", "A")
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "b", "B")
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "c", "C")
....etc.
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "ä", "AE")
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "ö", "OE")
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "ü", "UE")
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "ß", "SS")
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "Ä", "AE")
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "Ö", "OE")
ActiveCell.Value =
Application.WorksheetFunction.Substitute _
(ActiveCell.Value, "Ü", "UE")
ActiveCell.Offset(1, 0).Select
Loop


nach oben   nach unten

Ucase() ?
von: Any Body
Geschrieben am: 11.07.2002 - 14:45:59

oder ??

nach oben   nach unten

Re: Ucase() ?
von: Caroline
Geschrieben am: 11.07.2002 - 14:59:30

Super!
Vielen Dank, das wars!

nach oben   nach unten

Re: Ucase() ?
von: Hans W. Herber
Geschrieben am: 11.07.2002 - 15:05:55

Hallo Caroline,

nachträglich ein Tipp:
Mit Substitute werden Einzelzellen bearbeitet. Im konkreten Fall wäre es sinnvoll, die Replace-Methode anzuwenden, bei einer relativ grossen Anzahl von Zellen ist sie wesentlich schneller. Die Syntax:
Range("A1:A20").Replace "ae", "ä", xlPart, xlRows, False

hans

nach oben   nach unten

Re: Ucase() ?
von: Caroline
Geschrieben am: 11.07.2002 - 15:40:21

Danke, Hans, jetzt ist es tatsächlich noch deutlich schneller!
Gruß
C.

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Textfeld umsetzen auf Großbuchstaben"