Ich möchte in bestimmten Zellen automatisch nur Großbuchstaben schreiben.
Wichtig ist dabei auch, dass dies auch auf anderen Rechnern ohne Aufwand funktionieren soll.
Wie funktioniert dies.
Bin keine Experte in Makro o. ä.
Danke für Eure Hilfe
sykueto[/font]
Hallo zunächst einmal,
könntest du das
Zitat:in bestimmten Zellen
mal etwas näher definieren.
Mit bestimmten Zellen meine ich zum Beispiel den Bereich in einem Plan von D5:AH44.
Wenn ich hier Kleinbuchstaben eingebe, sollen diese Buchstaben automatisch in Großbuchstaben umgewandelt werden.
Dies sollte, falls möglich ohne Makros passieren und auch beim kopieren auf einen anderen Rechner funktionieren.
Ich meine damit, dass ich das Arbeitsblatt per USB-Stick auf einen anderen Rechner kopieren kann und dann einfach mit der angefragten Lösung ohne weitere Einstellungen vornehmen zu müssen weiter arbeiten kann.
Danke für die Hilfe
sykueto
Hallo,
Zitat:Wenn ich hier Kleinbuchstaben eingebe, sollen diese Buchstaben automatisch in Großbuchstaben umgewandelt werden.
das ist m.E. nur mit VBA möglich.
Kopiere den folgenden Code in das Modul des entsprechenden Tabellenblattes
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Quelle: Frank Kabel
If Target.Cells.count > 1 Then Exit Sub
If Intersect(Target, Me.Range("D5:AH44")) Is Nothing Then Exit Sub
On Error GoTo CleanUp:
With Target
If .Value <> "" Then
Application.EnableEvents = False
.Value = UCase(.Value)
End If
End With
CleanUp:
Application.EnableEvents = True
End Sub
- mit Alt+F11 den VBA-Editor öffnen
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- auf das gewünschte Tabellenblatt unterhalb dieser Datei doppelklicken
- in der rechten Fensterhälfte ist das Codefenster dieser Tabelle sichtbar
- dort den Code einfügen
- speichern und den VBA-Editor mit Alt+F4 schliessen
Kann ich dann das Arbeitsblatt auch auf USB-Stick kopieren und auf einem anderen PC weiterhin so damit arbeiten (automatisches auf Großbuchstaben umschalten)?
sykueto
Hallo zusammen,
Hab da ne Frage an Peter
Was bewirkt denn in Deinem Scriptvorschlag die Sache mit dem "ENABLEEVENTS" ??
Gruß
Klaus
Hallo Klaus,
ich bin zwar nicht der Peter aber damit werden die Ereignis ausgeschaltet. Peter verwendet hier ein Change-Ereignis und innerhalb des Code werden mit dieser Codezeile
Zitat:.Value = UCase(.Value)
aus Kleinbuchstaben Großbuchstaben was aber ohne enableEvents wiederum das Ereignis auslösen würde.
Hi Stefan,
Ah so... damit verhinderst Du also eine Endlosschleife
Danke
Gruß
Klaus
Hallo Klaus,
zuweilen geht der vba-code auch nur zwei mal durch - das ist dann zumindest unschön, kann aber beim Test nerven und eventuell auch die Performance drücken.
Hallo sykoetu,
wenn es ohne Makro sein muss, dann kannst Du bzw. Excel zumindest die Eingabe von Großbuchstaben erzwingen. Das geht über die Gültigkeit, benutzerdefiniert
Code:
=IDENTISCH(A1;GROSS(A1))
Zahlen und Sonderzeichen kann man damit auch noch nutzen. Allerdings wird der Benutzer bei Verwendung von Kleinbuchstaben erst nach der vollständigen Eingabe darauf hingewiesen, dass die Eingabe ungültig ist.