Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro nur erster Buchstabe in Zelle groß schreiben

Makro nur erster Buchstabe in Zelle groß schreiben
14.12.2016 10:55:06
Marcel
Hallo zusammen,
trotz intensiver Suche bin ich nicht zu einem Makro gekommen, dass Folgendes erledigt:
1. Bei Makro-Start: Abfrage in welchem Bereich die Anwendung stattfinden soll
2. In allen ausgewählten Zellen prüfen, ob der erste Buchstaben groß geschrieben ist. Wenn nicht nur den ersten Buchstaben groß schreiben sonst nichts ändern. Wenn er schon groß geschrieben ist, dann ebenfalls nichts ändern und wenn die Zelle leer ist dann sowieso nichts ändern.
Ich würde das gerne als Makro laufen lassen und nicht über eine Formel machen.
Danke schonmal
Marcel
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro nur erster Buchstabe in Zelle groß schreiben
14.12.2016 11:02:37
Tino
Hallo,
vielleicht so.
Sub Start()
Dim rng As Range
On Error Resume Next
Set rng = Application.InputBox("Bereich auswählen", Type:=8)
If rng Is Nothing Then Exit Sub
For Each rng In rng.Cells
If rng.Value  "" Then
rng.Value = UCase(Left$(rng.Value, 1)) & Right$(rng.Value, Len(rng.Value) - 1)
End If
Next rng
End Sub
Gruß Tino
Anzeige
AW: Makro nur erster Buchstabe in Zelle groß schreiben
14.12.2016 11:53:29
Marcel
Vielen Dank für Eure Antworten!
@Uwe: Dein Makro schreibt von allen Wörtern in der Zelle den ersten Buchstaben groß.
@Tino: Dein Makro macht genau was es soll. Eine Sache noch: Dein Makro formatiert die Zellen so, dass "Zeilenumbruch" danach angeklickt ist. Kann man das noch irgendwie unterffrücken?
Danke und Grüße
Marcel
Anzeige
AW: Makro nur erster Buchstabe in Zelle groß schreiben
14.12.2016 11:58:27
Tino
Hallo,
kann ich jetzt nicht nachvollziehen.
Kannst du ein Beispiel hochladen?
Gruß Tino
AW: Makro nur erster Buchstabe in Zelle groß schreiben
14.12.2016 13:33:31
Marcel
Hi Tino,
ich konnte das jetzt leider bzw. glücklicherweise auch nicht mehr reproduzieren...
Eine Frage noch: als "Extra" hätte ich noch nach erfolgreicher Ausführung, dass sich ein Fenster öffnet mit bspw. "Makro erfolgreich ausgeführt." bzw. bei keinem Erfolg "Makro NICHT erfolgreich ausgeführt."
Ist das kompliziert, dies noch einuzfügen? Würde gerne aus dem Code dann lernen, so etwas bei anderen Makros ebenfalls zu ergänzen...
Danke und Grüße
Marcel
Anzeige
AW: Makro nur erster Buchstabe in Zelle groß schreiben
14.12.2016 13:39:40
UweD
Sub Start()
    Dim rng As Range
    On Error Resume Next
    Set rng = Application.InputBox("Bereich auswählen", Type:=8)
    If rng Is Nothing Then
        MsgBox "Makro NICHT erfolgreich ausgeführt."
        Exit Sub
    Else
        For Each rng In rng.Cells
            If rng.Value <> "" Then
                rng.Value = UCase(Left$(rng.Value, 1)) & Mid(rng.Value, 2)
            End If
        Next rng
        MsgBox "Makro erfolgreich ausgeführt"
    End If
End Sub

LG UweD
Anzeige
AW: Makro nur erster Buchstabe in Zelle groß schreiben
14.12.2016 16:39:13
Marcel
Hi UweD,
vielen Dank - genau so!
So ist der Code auch super nachvollziehbar. VIelen Dank!
Grüße
Marcel
Prima! Danke für die Rückmeldung.
14.12.2016 16:42:11
UweD
AW: Makro nur erster Buchstabe in Zelle groß schreiben
14.12.2016 11:33:25
UweD
Hallo
- wenn auch mehrere Worte in einer Zelle stehen, dann so...
- brauchst auch NICHT auf Leer oder auf bereits Gross zu achten
Sub GROSS()
    Dim z, rng As Range
    Set rng = Application.InputBox("Bereich", Type:=8)
    If rng Is Nothing Then Exit Sub
    
    For Each z In rng.Cells
        z.Value = WorksheetFunction.Proper(z)
    Next z
End Sub
LG UweD
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro zum Großschreiben des ersten Buchstabens in Excel-Zellen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf "Einfügen" und wähle "Modul", um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Sub Start()
    Dim rng As Range
    On Error Resume Next
    Set rng = Application.InputBox("Bereich auswählen", Type:=8)

    If rng Is Nothing Then
        MsgBox "Makro NICHT erfolgreich ausgeführt."
        Exit Sub
    End If

    For Each rng In rng.Cells
        If rng.Value <> "" Then
            rng.Value = UCase(Left$(rng.Value, 1)) & Mid(rng.Value, 2)
        End If
    Next rng

    MsgBox "Makro erfolgreich ausgeführt."
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Starte das Makro über ALT + F8, wähle "Start" und klicke auf "Ausführen".

Häufige Fehler und Lösungen

  • Problem: Das Makro ändert den Text nicht.

    • Lösung: Stelle sicher, dass du einen Bereich auswählst, der nicht leer ist. Das Makro überspringt leere Zellen.
  • Problem: Die Zellen haben nach der Ausführung den Zeilenumbruch aktiviert.

    • Lösung: Stelle sicher, dass du den Code korrekt kopiert hast. Der aktuelle Code sollte dies nicht verursachen.

Alternative Methoden

Wenn du kein Makro verwenden möchtest, kannst du auch die Funktion PROPER nutzen, um den ersten Buchstaben eines Textes in einer Zelle groß zu schreiben. Hier ein Beispiel:

  1. Gib in eine Zelle folgende Formel ein:
=PROPER(A1)

Hierbei wird der gesamte Text in A1 umformatiert, sodass jeder erste Buchstabe eines Wortes groß ist. Beachte, dass dies nicht nur den ersten Buchstaben eines Satzes betrifft.


Praktische Beispiele

  1. Beispiel 1: Angenommen, in Zelle A1 steht "hallo welt".

    • Nach der Ausführung des Makros wird in Zelle A1 "Hallo welt" angezeigt.
  2. Beispiel 2: In Zelle B1 steht "excel ist super".

    • Nach dem Ausführen des Makros wird der Inhalt zu "Excel ist super" geändert.

Tipps für Profis

  • Wenn du mehrere Zellen gleichzeitig formatieren möchtest, achte darauf, dass die Auswahl groß genug ist, um mehrere Datenpunkte abzudecken.
  • Du kannst das Makro anpassen, um auch den Text in Zellen zu überprüfen, die mehr als ein Wort enthalten. Nutze WorksheetFunction.Proper für diese Funktionalität.

FAQ: Häufige Fragen

1. Was passiert, wenn die Zelle bereits einen Großbuchstaben hat?
Das Makro ändert nichts, wenn der erste Buchstabe bereits groß geschrieben ist.

2. Kann ich das Makro für mehrere Sprachen verwenden?
Ja, das Makro funktioniert unabhängig von der Sprache, solange die Buchstaben im gleichen Alphabet sind.

3. Was, wenn ich nur den ersten Buchstaben einer Zelle groß schreiben möchte?
Das bereitgestellte Makro erledigt genau das: Es wandelt nur den ersten Buchstaben in eine Großbuchstabe um.

4. Wie kann ich das Makro anpassen, um den ersten Buchstaben jeder Zelle in einer bestimmten Spalte zu ändern?
Du kannst den Code so anpassen, dass er nur auf eine bestimmte Spalte zugreift, indem du den For Each Loop entsprechend änderst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige