Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Bei bestimmten Inhalt in Zelle Schriftgröße ändern.

Forumthread: Bei bestimmten Inhalt in Zelle Schriftgröße ändern.

Bei bestimmten Inhalt in Zelle Schriftgröße ändern.
10.11.2025 15:08:40
Dridrops
Hallo zusammen,
ich würde gerne das wenn in einer Zelle keine Zahl sondern ein Text steht die Schriftgröße kleiner wird (7pt).
Zur Erläuterung: Ich habe einen Dynamischen Kalender bei dem jeder Monat über zwei Spalten geht, in der ersten Spalte stehen die Tage mit Zahl und Wochentag. In der jeweiligen zweiten Spalte soll fortlaufend die Zahl stehen wievielten Tag wir im Jahr haben. Immer außer Sonntags da soll es frei bleiben und an den Feiertagen die auf einen anderen Tabellenplatt stehen und immer zu dem angegebenen Jahr berechnet werden, sollen die Feiertage in Spalte 2 des jeweiligen Monats eingetragen werden.
Bekomme ich alles hin und läuft auch soweit.
Nun möchte ich gerne das weiterhin die Zahlen in der jeweiligen zweiten Spalte bei 13 pt bleiben und weil der Text der Feiertage zu lang ist suche ich verzweifelt nach einer Lösung das immer bei den Feiertagen die Schriftgröße sich auf 7 pt verkleinert.
Bei Eingabe eines neuen Jahres verändern sich ja einige Feiertage dann sollten natürlich alle Felder die dann einen Feiertag beinhalten wieder auf 7 pt verkleinert werden und alle mit Ziffern auf 13 pt Schriftgrad eingestellt sein.

Bedingte Formatierung gibt das leider nicht her. VBA reicht dann wohl mein sehr bescheidenes Wissen darüber nicht aus.
Danke für jede Hilfe
LG
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei bestimmten Inhalt in Zelle Schriftgröße ändern.
10.11.2025 15:15:28
daniel
Hi
automatisch wird schwierig, aber das muss ja nur einmal im Jahr angepasst werden.
markiere zuerst alle Zellen und setze die große Schriftgröße.
reduziere dann die Markierung auf alle Zellen, die Text enthalten (Feiertage), nutze hierfür die Menüfunktion START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE AUSWÄHLEN - FORMELN - TEXT und setze dann für diese Zellen die kleine Schriftgröße.
Damit sollte das mit wenig aufwand erledigt sein
Gruß Daniel
Anzeige
AW: Lade doch bitte eine Arbeitsmappe hoch...
10.11.2025 15:16:24
JoWe
...
AW: Lade doch bitte eine Arbeitsmappe hoch...
10.11.2025 16:55:42
Dridrops
Danke für die bisherigen Antworten.
Mappe kommt Auf dem Blatt "Kalender sollte das Problem sofort zu erkennen sein.

@Daniel, ja das wäre auch eine Möglichkeit, wenn es gar nichts anderes gibt.
@Udo, dafür sind meine VBA Kenntnisse wohl noch zu bescheiden oder stehe gerade auf der Leitung.

https://www.herber.de/bbs/user/179611.xlsx
Anzeige
AW: Lade doch bitte eine Arbeitsmappe hoch...
10.11.2025 17:12:58
daniel
Hi
meine vorgehensweise würde als Marko so aussehen:

Sub Makro1()

Range("B3:Y33").Font.Size = 11
Range("B3:Y33").SpecialCells(xlCellTypeFormulas, 2).Font.Size = 7
End Sub


du brauchst also gar nicht viel VBA-Wissen, du musst nur mit dem Recorder umgehen können und dann wissen, wie man den aufgezeichneten Code noch zusammenfasst (die eigentliche Aufzeichnung ist etwas umfangreicher, weil sie die kompletten Schriftformate mit aufzeichnet, aber das kann man alles rauslöschen, wenn es nicht verändert werden soll.

Gruß Daniel
Anzeige
AW: Lade doch bitte eine Arbeitsmappe hoch...
11.11.2025 09:55:45
schauan
... hast Du Dir angeschaut, wie ich das gelöst habe? Ich habe für jede Angabe eine eigene Spalte. Dadurch kommen die Feiertage klein ;-) Zusätzlich habe ich in der Feiertagsliste noch trennzeichen dabei, damit die Ausgabe dahingehend bei längeren Feiertagsbezeichnungen korrekt ist. Was nicht gebraucht wird, kann man da löschen. Geht also ganz ohne VBA.

Mit VBA dann was in der Art.
Du kannst z.B. in Dein Kallenderblatt ein Textfeld einfügen und dort irgendeine Beschriftung eingeben.
Dann klickst Du das Textfeld nochmal an - sodass man es z.B. verscheieben kann - und nimmst aus dem Kontextmenü "Makro zuweisen" und "Neu"
Dadurch kommst Du in den VBA - Editor und dort steht dann z.B.

Sub Textfeld1_Klicken()


End Sub


Dazwischen fügst Du dann den code ein:



'Variablendeklaration
Dim rngKalender As Range, rngZellen As Range
'hier den Kalenderbereich eingeben (ohne Überschriften)
Set rngKalender = Range("A3:Z99")
'Schleife ueber alle Zellen im Bereich
For Each rngZellen In rngKalender
'wenn keine Zahl oder kein Datum drin steht, dann
If Not (IsNumeric(rngZellen) Or IsDate(rngZellen)) Then
'kleine schriftgroesse
rngZellen.Font.Size = 6
'ansonsten (zu 'wenn keine Zahl oder kein Datum drin steht, dann)
Else
'grosse schriftgroesse
rngZellen.Font.Size = 12
'Ende wenn keine Zahl oder kein Datum drin steht, dann
End If
'Ende Schleife ueber alle Zellen im Bereich
Next

Anzeige
AW: Bei bestimmten Inhalt in Zelle Schriftgröße ändern.
10.11.2025 15:19:27
Uduuh
Hallo,
lad doch mal die Mappe hoch.
Ansonsten Schema
If istFeiertag(Zelle) Then

Zelle.Font.Size=7
Else
Zelle.Font.Size=13
End if


Gruß aus'm Pott
Udo
AW: Bei bestimmten Inhalt in Zelle Schriftgröße ändern.
10.11.2025 18:28:18
Piet
Hallo

hier mal meine Version, etwas umständlicher als die Kollegen, aber m.E. dafür richtig.
Mir fiel auf das es drei Schriftgrössen gibt, 11 für Datum , 13 für Zahlen, 7 für Text.
Es reicht aber nicht bei langen Namen für Feiertage, die müsstest du etwas kürzen.
Z.B. "Christi Himmelf.", "Deutsche Einheit", "1. Weihnachtstag"
Sonst ist der Zeilenumbruch 3 zeilig, der Text unten und oben abgeschnitten.

mfg Piet

Sub Schriftgrösse_13Zahl()

Dim AC As Range, s As Integer
'Schriftgrösse auf 13 zurückstzen
For s = 0 To 22 Step 2
Range("C3:C33").Offset(0, s).Font.Size = 13
Next s
'Testfelder auf Schriftgrösse 7 setzen
For s = 0 To 22 Step 2
For Each AC In Range("C3:C33").Offset(0, s)
If Not IsNumeric(AC) And AC > "" Then
AC.Font.Size = 7
End If
Next AC
Next s
End Sub
Anzeige
AW: Bei bestimmten Inhalt in Zelle Schriftgröße ändern.
11.11.2025 10:26:09
Dridrops
Noch einmal hallo zusammen und danke schön an alle die hier mir sehr geholfen haben,
@Daniel und @Piet habe beide Codes ausprobiert tun beide genau das was sie sollen danke.
@Schauan zu deinen ersten Beitrag, ich hatte in meinen ersten Beitrag vergessen zu erwähnen das es bei diesen Kalender erwünscht ist für alle Angaben (Feiertage und die Ziffern) nur ein Feld zu nutzen. Die Lösung mit mehreren Zeilen und Spalten haben ich bei anderen Kalendern schon erfolgreich umsetzen können auch ganz ohne VBA.
Zu deinen zweiten Beitrag, habe den Code jetzt noch nicht getestet, wird aber noch passieren und danke für die Erklärung zu jeder Zeile.
Danke nochmal an alle das Ding ist gelöst.
Anzeige
Anzeige
Anzeige