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

Forumthread: Kapitälchen im definierten Bereich

Kapitälchen im definierten Bereich
19.04.2016 16:23:46
Addi
Hallo Zusammen,
ich möchte in einem definierten Bereich, z.B. in Sheet1 im Bereich A23:Y1235 alle darin enthaltenen Wörter in Kapitälchen umwandeln. Mit Kapitälchen meine ich alles in Großbuchstaben, den ersten Buchstaben in jedem Wort aber nochmals hervorgehoben indem er in der Schriftgröße 1 Punkt größer wird.
Habt Ihr eine Idee?
Vielen Dank und Gruß
Adrian

Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ja, verwende eine Kapitälchen-Schriftart ...
19.04.2016 16:38:46
Luc:-?
…wie bspw Copperplate, Adrian!
Gruß, Luc :-?
Besser informiert mit …

AW: Kapitälchen im definierten Bereich
19.04.2016 16:41:06
Daniel
Hi
durchsuch mal deine Schriftarten, ob du da eine hast, welche die Kleinbuchstaben wie Grossbuchstaben darstellt, nur etwas kleiner und Formatiere dann den Zellbereich mit dieser Schriftart.
Ggf kannst du so eine Schriftart auch im WWW finden und dir installieren
https://www.searchfreefonts.com/categories/smallcaps.htm?p=1
Gruß Daniel

Anzeige
AW: Kapitälchen im definierten Bereich
19.04.2016 16:46:10
Addi
Hallo Daniel, Hallo Luc,
leider ist dies keine Alternative, da ich an Calibri gebunden bin (Corporate Design)!
Muss doch auch über ein Coding gehen...oder?
Gruß, Adrian

AW: Kapitälchen im definierten Bereich
19.04.2016 17:06:52
Daniel
Hi
sowas geht auch über Coding.
probier mal das, bearbeitet wird der selektierte Bereich:
Sub Kapitälchen()
Dim Zelle As Range
Dim txt As String
Dim i As Long
Application.ScreenUpdating = False
For Each Zelle In Selection.SpecialCells(xlCellTypeConstants, 2)
txt = Zelle.Value
Zelle.Value = UCase(txt)
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like "[A-ZÄÜÖ]" Then
With Zelle.Characters(i, 1).Font
.Size = .Size + 1
End With
End If
Next
Next
End Sub
Gruß Daniel

Anzeige
AW: Kapitälchen im definierten Bereich
19.04.2016 16:52:25
Peter
Hallo Adrian,
hier eine Teillösung, denn du verrätst ja nicht ob in einer Zelle mehr als ein Wort stehen kann/darf und auch nicht in welcher Schriftgröße die Großbuchstaben der Wörter sein sollen, so dass man nicht weiß, wie der erste Buchstabe um eins größer sein könnte.
Gruß Peter
Option Explicit
Public Sub Kapitaelchen()
Dim rZelle  As Range
With ThisWorkbook.Worksheets("Tabelle1")
For Each rZelle In .Range("A23:Y1235")
rZelle.Value = UCase(rZelle.Value)
Next rZelle
End With
End Sub

Anzeige
AW: Kapitälchen im definierten Bereich
19.04.2016 16:57:08
Addi
Hallo Peter,
vielen Dank für die Teillösung...
...also in den einzelnen Zellen steht mal ein Wort oder auch mal mehrere - ganz unterschiedlich.
Die Standard Schriftgröße ist 11 und der erste Buchstabe im Wort soll 12 sein.
Vielen Dank und Gruß,
Adrian

AW: schau Dir mal das an ...
19.04.2016 17:28:45
Addi
Hallo Matthias,
vielen Dank - das funktioniert - man muss halt nur den relevanten Bereich markieren - aber das ist ja kein Problem.
Vielen Dank Dir und allen anderen
Adrian

Markieren musst du hierbei auch, ...
19.04.2016 19:27:15
Luc:-?
…Addi,
damit bist du flexibel; anderenfalls müsstest du ggf immer eine Konstante austauschen:
Sub Kapitaelchen()
Const plusSize As Single = 1, liGB$ = "[A-ZÄÖÜ]"
Dim pix As Long, liPos, xP, xV As Variant, xZ As Range
For Each xZ In ActiveWindow.RangeSelection
On Abs(xZ = "") GoTo nx
xV = StrConv(xZ, vbUnicode): xV = Left(xV, Len(xV) - 1)
For Each xP In Split(xV, Chr(0))
pix = pix + 1
If xP Like liGB Then liPos = liPos & " " & CStr(pix)
Next xP
liPos = Split(LTrim(liPos)): xZ = UCase(xZ)
For pix = LBound(liPos) To UBound(liPos)
With xZ.Characters(CInt(liPos(pix)), 1)
.Font.Size = .Font.Size + plusSize
End With
Next pix
nx:     pix = 0: liPos = Empty
Next xZ
End Sub
Gruß, Luc :-?

Anzeige
Hallo Luc, ich grüße Dich ...
19.04.2016 19:47:46
Matthias
Hallo
Bei meinem Test Deines Beispiels sind aber alle Zeichen gleich in der Höhe!
Gruß Matthias

Bei mir nicht, aber der Unterschied ist sehr ...
19.04.2016 20:24:46
Luc:-?
…klein bei Calibri, Matti;
ändere mal plusSize auf 2! Sind sie dann deutlich größer oder nicht?
Allerdings eignet sich das Pgm nicht für Unicode-Schriften. Da muss man dann 'ne klassischere Methode verwenden (s. Reinhard bzw Daniel).
Gruß, Luc :-?

Anzeige
nee, passiert nix selbst nicht bei Size:30
19.04.2016 20:38:13
Matthias
Hi Luc
Mehr wie probieren kann ich ja nicht. Alle Zeichen gleich
Ist das ein Versionskonflikt ? Hab nur 2007
Userbild
Gruß Matthias

Viell hat da'n geheimnisvoller XlAutomatismus, ...
19.04.2016 21:40:15
Luc:-?
…quasi die Xl12-Rullerpucker bzw der Xl12-Klabauter, seine Griffel im Spiel, Matti; ;-)
unter Xl10 geht's.
StrConv sollte eigentl auch unter Xl12 fktionieren.
Luc :-?

Anzeige
geh jetzt offline ...
19.04.2016 20:49:44
Matthias

AW: Kapitälchen im definierten Bereich
21.04.2016 18:23:38
Peter
Hallo Adrian,
wenn auch erst heute, so doch eine Komplett-Lösung
Option Explicit
Public Sub Gross()
Dim rZelle     As Range
Dim iPosition  As Integer
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
For Each rZelle In .Range("A23:Y1235" & .Cells(.Rows.Count, 2).End(xlUp).Row)
If Trim$(rZelle.Value)  "" Then
rZelle.Value = UCase(rZelle.Value) ' alles groß schreiben
rZelle.Font.Size = 11              ' die normale Schriftgröße
rZelle.Font.Name = "Calibri"       ' die Schrift auswählen
'              den ersten Buchstaben der Zelle um 2 Punkte größer schreiben
.Range(rZelle.Address).Characters(Start:=1, Length:=1).Font.Size = _
.Range(rZelle.Address).Characters(Start:=1, Length:=1).Font.Size + 2
iPosition = 1
Do
iPosition = InStr(iPosition, rZelle, " ") ' an welcher Stelle ist ein  _
Leerzeichen?
If iPosition = 0 Then Exit Do
iPosition = iPosition + 1 ' das Zeichen nach der Leerstelle
If Mid(.Range(rZelle.Address), iPosition, 1) Like "[A-ZÄÖÜ]" Then
'                    nach jedem Leerzeichen den Wortanfang der Zelle um 2 Punkte größer  _
schreiben
.Range(rZelle.Address).Characters(Start:=iPosition, Length:=1).Font.Size = _
.Range(rZelle.Address).Characters(Start:=iPosition, Length:=1).Font.Size +  _
2
End If
Loop Until iPosition = 1
End If
Next rZelle
End With
Application.ScreenUpdating = True
End Sub

Gruß Peter

Anzeige
Wenn etwas angepasst wdn muss/kann, ...
21.04.2016 19:36:19
Luc:-?
…Peter,
schreibt man das in eine Konstante am PgmAnfang. Das macht eine pgmweite Änderung später leicht. Ist hier zwar nicht so wild, sollte man sich aber grundsätzlich angewöhnen! ;-]
Gruß, Luc :-?

das sind aber keine Kapitälchen
21.04.2016 21:19:35
KlausF
Hallo Peter und Addi,
die Lösung ist zwar gut aber typografischer Blödsinn. Kapitälchenschrift bedeutet nicht,
dass jedes Wort am Anfang mit einem größeren Versal beginnt, sondern
dass nur die Substantive (wie bei der Normalschrift) und die Satzanfänge mit größerem
Versal anfangen.
Beispiel:
Heute kam er spät nach Hause
in Kapitälchenschrift:
HEUTE KAM ER SPÄT NACH HAUSE
Nur die fetten Versalien dürfen hier größer sein.
Das was Addi haben will hat mit Kapitälchenschrift nichts zu tun.
Gruß
Klaus

Anzeige
Daniels Lösung ist korrekt
21.04.2016 21:50:23
KlausF
Hi,
die Lösung von Daniel ist die richtige ...
Gruß
Klaus
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Kapitälchen in Excel umsetzen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und wähle das Arbeitsblatt, in dem Du die Kapitälchen umsetzen möchtest.

  2. Markiere den Bereich (z.B. A23:Y1235), in dem die Wörter in Kapitälchen umgewandelt werden sollen.

  3. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  4. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen > Modul.
  5. Kopiere und füge den folgenden VBA-Code ein:

    Sub Kapitälchen()
       Dim Zelle As Range
       Dim txt As String
       Dim i As Long
       Application.ScreenUpdating = False
       For Each Zelle In Selection.SpecialCells(xlCellTypeConstants, 2)
           txt = Zelle.Value
           Zelle.Value = UCase(txt)
           For i = 1 To Len(txt)
               If Mid(txt, i, 1) Like "[A-ZÄÜÖ]" Then
                   With Zelle.Characters(i, 1).Font
                       .Size = .Size + 1
                   End With
               End If
           Next
       Next Zelle
       Application.ScreenUpdating = True
    End Sub
  6. Schließe den VBA-Editor und gehe zurück zu Excel.

  7. Führe das Makro aus:

    • Drücke ALT + F8, wähle Kapitälchen aus und klicke auf Ausführen.

Jetzt sind alle Wörter im definierten Bereich in Kapitälchen umgewandelt!


Häufige Fehler und Lösungen

  • Fehlermeldung beim Ausführen des Makros: Stelle sicher, dass Du den richtigen Zellbereich markiert hast und dass die Zellen nicht leer sind.
  • Keine Veränderung sichtbar: Überprüfe, ob die Schriftart auf „Calibri“ eingestellt ist. Bei anderen Schriftarten kann das Ergebnis variieren.
  • Der erste Buchstabe wird nicht größer: Achte darauf, dass der VBA-Code korrekt eingefügt wurde und keine Syntaxfehler bestehen.

Alternative Methoden

  • Verwendung einer Kapitälchen-Schriftart: Du kannst eine Schriftart verwenden, die Kapitälchen unterstützt, z.B. Copperplate Gothic. Dies kann jedoch die Corporate Design-Vorgaben einschränken.
  • Manuelles Formatieren: Du kannst die Großbuchstaben manuell formatieren, indem Du den ersten Buchstaben in jeder Zelle auswählst und die Schriftgröße erhöhst.

Praktische Beispiele

  • Beispiel 1: Eine Liste von Namen in Kapitälchen umwandeln.
  • Beispiel 2: Text in einem Bericht formatieren, um wichtige Informationen hervorzuheben.

Wenn Du in Excel mit Kapitälchen arbeitest, kannst Du sicherstellen, dass die ersten Buchstaben jeder Zelle größer sind, was in vielen professionellen Dokumenten wichtig ist.


Tipps für Profis

  • Nutze den Shortcut für Kapitälchen, um Zeit zu sparen. Du kannst Makros mit Tastenkombinationen verknüpfen.
  • Achte darauf, die Schriftart und Schriftgröße regelmäßig zu überprüfen, um ein einheitliches Erscheinungsbild zu gewährleisten.
  • Teste den Code unter verschiedenen Excel-Versionen, um Kompatibilitätsprobleme zu vermeiden, insbesondere wenn Du mit älteren Versionen wie Excel 2007 arbeitest.

FAQ: Häufige Fragen

1. Was sind Kapitälchen?
Kapitälchen sind Großbuchstaben, bei denen der erste Buchstabe eines Wortes größer ist als die anderen Buchstaben.

2. Wie kann ich die Schriftart für Kapitälchen ändern?
Du kannst die Schriftart in Excel unter „Start“ > „Schriftart“ auswählen. Achte darauf, eine Kapitälchen-kompatible Schriftart zu wählen.

3. Ist der VBA-Code mit Excel für Mac kompatibel?
Ja, der VBA-Code sollte auch unter Excel für Mac funktionieren, solange Du den VBA-Editor öffnen und den Code korrekt einfügen kannst.

4. Wie kann ich Kapitälchen für mehrere Zellen gleichzeitig anwenden?
Markiere einfach den gewünschten Zellbereich und führe das Makro aus, um alle Zellen gleichzeitig zu formatieren.

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