Registriert seit: 10.11.2014
Version(en): MSOfiice 2007
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]
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo zunächst einmal,
könntest du das
Zitat:in bestimmten Zellen
mal etwas näher definieren.
Gruß
Peter
Registriert seit: 10.11.2014
Version(en): MSOfiice 2007
10.11.2014, 11:46
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2014, 11:53 von sykueto.)
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
Registriert seit: 12.04.2014
Version(en): Office 365
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
Gruß
Peter
Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:1 Nutzer sagt Danke an Peter für diesen Beitrag 28
• sykueto
Registriert seit: 10.11.2014
Version(en): MSOfiice 2007
10.11.2014, 12:13
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2014, 12:13 von sykueto.)
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
Registriert seit: 15.04.2014
Version(en): 2003 -2010
Hallo zusammen,
Hab da ne Frage an Peter

Was bewirkt denn in Deinem Scriptvorschlag die Sache mit dem "ENABLEEVENTS" ??
Gruß
Klaus
Registriert seit: 11.04.2014
Version(en): Office 2007
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.
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 15.04.2014
Version(en): 2003 -2010
Hi Stefan,
Ah so... damit verhinderst Du also eine Endlosschleife
Danke
Gruß
Klaus
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Klaus,
(10.11.2014, 12:40)DeBabba schrieb: Ah so... damit verhinderst Du also eine Endlosschleife
Ja, so ist es.
Gruß Stefan
Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28
• DeBabba
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)