Alles Großbuchstaben schreiben durch eine Formel
Hi,
ich sitze hier echt vor einem Problem. Ich muss alle Zellen in der Spalte B und D mit Großbuchstaben versehen. Also momentan ist es Mal groß mal klein mal gemischt. Aber alle Buchstaben in den beiden Spalten sollen groß sein. Ich habe auch schon eine Formel gefunden =groß(b1), aber diese Funktioniert irgendwie nicht. Ich glaube auch das das ganze über ein Makro schneller und einfacher Geht oder liege ich da falsch und es geht gar nicht über ein Makro? Könnt ihr mir mal sagen was ich machen soll und wie ich es machen soll.
Ps. Die Tabelle besteht aus 5 Spalten( B und D muss ich bearbeiten) und ca 5000 Zeilen. Das währen dann knapp 10000 Zellen die ich bearbeiten muss.
Danke
Gruß Hummel
ich sitze hier echt vor einem Problem. Ich muss alle Zellen in der Spalte B und D mit Großbuchstaben versehen. Also momentan ist es Mal groß mal klein mal gemischt. Aber alle Buchstaben in den beiden Spalten sollen groß sein. Ich habe auch schon eine Formel gefunden =groß(b1), aber diese Funktioniert irgendwie nicht. Ich glaube auch das das ganze über ein Makro schneller und einfacher Geht oder liege ich da falsch und es geht gar nicht über ein Makro? Könnt ihr mir mal sagen was ich machen soll und wie ich es machen soll.
Ps. Die Tabelle besteht aus 5 Spalten( B und D muss ich bearbeiten) und ca 5000 Zeilen. Das währen dann knapp 10000 Zellen die ich bearbeiten muss.
Danke
Gruß Hummel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 43573
Url: https://administrator.de/contentid/43573
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
24 Kommentare
Neuester Kommentar
Hallo Hummel85!
Grundsätzlich müssten GROSS(B1) - nur Großbuchstaben - oder GROSS2(B1) - nur Anfangsbuchstaben groß - funktionieren.
Vorgangsweise:
In freier Spalte F die Formel eintragen und nach unten ausfüllen, alle 5000 Zellen mit neuer Schreibweise in Zwischenablage kopieren, ursprüngliche 5000 Einträge (in Spalte B) markieren, Bearbeiten / Inhalte einfügen... / Werte wählen, um die alten Einträge durch die neuen zu ersetzen, mit Esc Kopiervorgang abbrechen, überflüssige Spalte F (mit den Formeln) entsorgen; für Spalte D natürlich analog.
Sollten die Funktionen tatsächlich Probleme machen (dann bitte genau anführen, welcher Art bzw wie das Ergebnis genau aussehen sollte), kann man immer noch auf VBA ausweichen.
HTH
bastla
Grundsätzlich müssten GROSS(B1) - nur Großbuchstaben - oder GROSS2(B1) - nur Anfangsbuchstaben groß - funktionieren.
Vorgangsweise:
In freier Spalte F die Formel eintragen und nach unten ausfüllen, alle 5000 Zellen mit neuer Schreibweise in Zwischenablage kopieren, ursprüngliche 5000 Einträge (in Spalte B) markieren, Bearbeiten / Inhalte einfügen... / Werte wählen, um die alten Einträge durch die neuen zu ersetzen, mit Esc Kopiervorgang abbrechen, überflüssige Spalte F (mit den Formeln) entsorgen; für Spalte D natürlich analog.
Sollten die Funktionen tatsächlich Probleme machen (dann bitte genau anführen, welcher Art bzw wie das Ergebnis genau aussehen sollte), kann man immer noch auf VBA ausweichen.
HTH
bastla
Hi,
auch wenn's schon gelöst ist, es gibt auch eine Variante, mit der man sich den Kopieren-Einfügen-Schritt sparen kann:
Psycho
auch wenn's schon gelöst ist, es gibt auch eine Variante, mit der man sich den Kopieren-Einfügen-Schritt sparen kann:
Sub machgross()
Dim mcell As Range
For Each mcell In Range("B1:D1000").Cells
mcell = UCase(mcell)
Next mcell
End Sub
Psycho
Moin,
einen Bereich angeben kann man zum Beispiel so:
Die Eingabe wäre dann z.B. A1:D100.
Die Klickvariante muss ich mal überdenken.
[Edit:
Hier noch eine Variante, in der der Bereich vor Makro-Ausführung markiert wird:
]
Psycho
einen Bereich angeben kann man zum Beispiel so:
Sub machgross()
Dim bereich As String
Dim mcell As Range
bereich = InputBox("Bereich angeben")
For Each mcell In Range(bereich).Cells
mcell = UCase(mcell)
Next mcell
End Sub
Die Eingabe wäre dann z.B. A1:D100.
Die Klickvariante muss ich mal überdenken.
[Edit:
Hier noch eine Variante, in der der Bereich vor Makro-Ausführung markiert wird:
Sub machgross1()
Dim mcell As Range
For Each mcell In Selection.Cells
mcell = UCase(mcell)
Next mcell
End Sub
Psycho
OK,
dann mit einem Formular:
Du öffnest den VBA-Editor und fügst dort ein neues Formular ein.
Auf diesem Formular platzierst du zwei Textfelder und einen Button.
Per Doppelklick auf den Button ensteht eine neue Prozedur, in welche du folgenden Code einfügst:
Gegebenfalls musst du die Namen der Objekte anpassen.
Das Formular wird über ein extra Makro aktiviert:
Psycho
dann mit einem Formular:
Du öffnest den VBA-Editor und fügst dort ein neues Formular ein.
Auf diesem Formular platzierst du zwei Textfelder und einen Button.
Per Doppelklick auf den Button ensteht eine neue Prozedur, in welche du folgenden Code einfügst:
Dim Bereich
Dim mcell As Range
Bereich = TextBox1.Value + ":" + TextBox2.Value
For Each mcell In Range(Bereich).Cells
mcell = UCase(mcell)
Next mcell
UserForm1.Hide
Gegebenfalls musst du die Namen der Objekte anpassen.
Das Formular wird über ein extra Makro aktiviert:
Sub Aktivieren()
UserForm1.Show
End Sub
Psycho
Hallo Hummel85!
Darf ich Dich auf das unscheinbare (ganz am Ende der Toolbox - zumindest in Excel 2003- angesiedelte) Objekt "RefEdit" und dessen Eigenschaft "Text" aufmerksam machen?
Grüße
bastla
P.S.: Intuitiver als das direkte "Vorweg-Markieren" erscheint mir diese Variante auch nicht unbedingt - aber zu Übungszwecken sicher ganz ok.
Darf ich Dich auf das unscheinbare (ganz am Ende der Toolbox - zumindest in Excel 2003- angesiedelte) Objekt "RefEdit" und dessen Eigenschaft "Text" aufmerksam machen?
Grüße
bastla
P.S.: Intuitiver als das direkte "Vorweg-Markieren" erscheint mir diese Variante auch nicht unbedingt - aber zu Übungszwecken sicher ganz ok.
Hallo ich habe hierzu auch noch einmal eine Frage:
Ich würde gerne,dass excel mir in bestimmten Zellen alles automatisch (also mit z.B. betätigen der ENTER-Taste) GROß schreibt. Egal ob ich es klein oder wie auch immer in die Zelle schreibe. Zahlen können aber auch in der Zelle vokommen. Gibts für sowas auch irgeneine Formatierung oder ein bestimmtes Makro oder ähnliches?! Danke schonmal im voraus.
MfG
Ich würde gerne,dass excel mir in bestimmten Zellen alles automatisch (also mit z.B. betätigen der ENTER-Taste) GROß schreibt. Egal ob ich es klein oder wie auch immer in die Zelle schreibe. Zahlen können aber auch in der Zelle vokommen. Gibts für sowas auch irgeneine Formatierung oder ein bestimmtes Makro oder ähnliches?! Danke schonmal im voraus.
MfG
Hi,
falls ich dich richtig verstanden habe (Beim Verlassen der Zelle in Großbuchstaben umwandeln), geht das so wohl nicht. Entweder hinterher, wie oben beschrieben oder halt gleich richtig eingeben. Aber vielleicht kennt ja jemand anders doch eine Lösung!
Psycho
falls ich dich richtig verstanden habe (Beim Verlassen der Zelle in Großbuchstaben umwandeln), geht das so wohl nicht. Entweder hinterher, wie oben beschrieben oder halt gleich richtig eingeben. Aber vielleicht kennt ja jemand anders doch eine Lösung!
Psycho
Hallo Holsi87!
Meintest Du etwas in der Art:
Damit wird für alle Zellen des Bereiches B2:B20 (siehe Zeile "If Intersect ...") die gewünschte Umwandlung in Großbuchstaben vorgenommen.
Bitte beachten: Der Code ist einer Tabelle, nicht einem Modul, zuzuordnen.
HTH
bastla
Meintest Du etwas in der Art:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
If Intersect(Target, Range("B2:B20")) Is Nothing Then Exit Sub
On Error Resume Next 'nur zur Sicherheit
Application.EnableEvents = False
Target.Value = UCase(Target.Value)
Application.EnableEvents = True
On Error GoTo 0
End Sub
Bitte beachten: Der Code ist einer Tabelle, nicht einem Modul, zuzuordnen.
HTH
bastla
Moin,
das meinte ich, als ich schrieb:
Psycho
das meinte ich, als ich schrieb:
Aber vielleicht kennt ja jemand anders doch eine Lösung!
Hätte auch heissen können: "Vielleicht kennt ja bastla doch noch eine Lösung!" Psycho
Aber, ganz abgesehen von bastla's und Psycho Dad's Workarounds:
Das darf doch wohl nicht wahr sein, dass ich nicht mal ein "Eingabeformat" für Zellen oder Bereiche festlegen kann in diesem merkwürdigen Tabellentool des sympathischen Weltmarktführers??!!???
M$ selbst hat doch da ganz offensichtlich auch eigene "Sonderformate" hinterlegt für so häufig benutzte Formate wie "Sozialversicherungsnummer" oder, was wir im Bremen fast rund um die Uhr brauchen, das "Postleitzahlenformat (CH)".
Also, nichts gegen die Schwyzer, darum gehts mir nicht, @psycho *gg
Wenn da noch jemand eine andere Möglichkeit posten würde, wäre ich sehr angetan.
Und BTW: Wie ist das denn in OpenOffice gelöst? Waren die schlauer?
Grüße
Biber
Das darf doch wohl nicht wahr sein, dass ich nicht mal ein "Eingabeformat" für Zellen oder Bereiche festlegen kann in diesem merkwürdigen Tabellentool des sympathischen Weltmarktführers??!!???
M$ selbst hat doch da ganz offensichtlich auch eigene "Sonderformate" hinterlegt für so häufig benutzte Formate wie "Sozialversicherungsnummer" oder, was wir im Bremen fast rund um die Uhr brauchen, das "Postleitzahlenformat (CH)".
Also, nichts gegen die Schwyzer, darum gehts mir nicht, @psycho *gg
Wenn da noch jemand eine andere Möglichkeit posten würde, wäre ich sehr angetan.
Und BTW: Wie ist das denn in OpenOffice gelöst? Waren die schlauer?
Grüße
Biber
@Biber:
Ich hab gerade mal nachgesehen. OpenOffice beherrscht dieses Feature offensichtlich auch nicht! Ich bin da auch schon öfter drüber gestolpert und musste mir immer mit irgend welcher Friemelei helfen!
Was hab ich denn bitte mit der Schweiz zu tun?
Psycho
Ich hab gerade mal nachgesehen. OpenOffice beherrscht dieses Feature offensichtlich auch nicht! Ich bin da auch schon öfter drüber gestolpert und musste mir immer mit irgend welcher Friemelei helfen!
Also, nichts gegen die Schwyzer, darum gehts mir nicht, @psycho *gg
Was hab ich denn bitte mit der Schweiz zu tun?
Psycho
Du bist ja fast noch besser, als die Dame von der DB, die mich nach Südkorea schicken wollte, als ich ihr meinen Heimatort nannte! Für alle, die es nicht wissen: Suhl liegt im schönen Thüringen, also im grünen Herzen von Deutschland!
Psycho
Psycho