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

Forumthread: Abfrage "Schriftart FETT"

Abfrage "Schriftart FETT"
reiner
Hallo Leute,
In einem vorgegebenen Teil einer Tabelle soll eine Variable den Wert "1" erhalten wenn mindestens eine Zelle mit Texteingabe die Schriftart "FETT" aufweist.

If Range(Cells(1, 1), Cells(3, 3)).Font.Bold Then Variable =1

Mit vorgenannter Formel hatte ich bislang keinen Erfolg, wo liegt mein Fehler?
mfg
reiner
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Abfrage "Schriftart FETT"
08.09.2011 15:59:29
Henrik
huhu reiner,
eine Möglichkeit:

If Range(Cells(1, 1), Cells(3, 3)).Font.Bold = False Then Variante = 0 Else Variante = 1

Gruß Henrik
AW: Abfrage "Schriftart FETT"
08.09.2011 16:02:55
Rudi
Hallo,
du musst jede Zelle einzeln prüfen.

  Dim c As Range, Var
For Each c In Range(Cells(1, 1), Cells(3, 3))
If c.Font.Bold Then
Var = 1
Exit For
End If
Next

Gruß
Rudi
Anzeige
AW: Abfrage "Schriftart FETT"
08.09.2011 16:39:13
reiner
danke für eure Tipps, nun funktioniert es
mfg
reiner
;
Anzeige
Anzeige

Infobox / Tutorial

Abfrage von Schriftart FETT in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel abzufragen, ob mindestens eine Zelle in einem bestimmten Bereich die Schriftart "FETT" hat, kannst Du den folgenden VBA-Code verwenden:

  1. Öffne Excel und gehe zu Entwicklertools > Visual Basic, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul ein (Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Dim Var As Integer
Dim c As Range

For Each c In Range(Cells(1, 1), Cells(3, 3))
    If c.Font.Bold Then
        Var = 1
        Exit For
    Else
        Var = 0
    End If
Next c
  1. Schließe den VBA-Editor und führe das Makro aus.

Mit diesem Code überprüfst Du jede Zelle im Bereich von A1 bis C3, ob die Schriftart fett ist. Wenn eine Zelle die Schriftart "FETT" hat, wird die Variable Var auf 1 gesetzt.


Häufige Fehler und Lösungen

  • Fehler: "Typ nicht definiert"

    • Lösung: Stelle sicher, dass Du Dim Var As Integer korrekt definiert hast.
  • Fehler: Keine Ausgabe

    • Lösung: Überprüfe, ob der Bereich korrekt angegeben ist und ob tatsächlich Text in den Zellen vorhanden ist.
  • Fehler: Der Code funktioniert nicht wie erwartet

    • Lösung: Achte darauf, dass die Schriftart wirklich auf "FETT" gesetzt ist. Manchmal kann die Formatierung von Zellen unterschiedlich sein.

Alternative Methoden

Wenn Du eine alternative Methode zur Abfrage der Schriftart in Excel verwenden möchtest, kannst Du auch Formeln in Kombination mit VBA verwenden. Zum Beispiel könntest Du eine benutzerdefinierte Funktion erstellen, die die Schriftart einer Zelle überprüft und das Ergebnis zurückgibt.

Hier ein Beispiel:

Function IsBold(cell As Range) As Boolean
    IsBold = cell.Font.Bold
End Function

Du kannst diese Funktion dann in einer Zelle verwenden, z.B. =IsBold(A1), um zu überprüfen, ob die Schriftart in A1 fett ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du den Code in verschiedenen Szenarien nutzen kannst:

  • Beispiel 1: Wenn Du eine große Tabelle hast und nur bestimmte Zellen überprüfen möchtest, ändere den Bereich in der For Each-Schleife.

  • Beispiel 2: Kombiniere die Schriftartabfrage mit anderen Bedingungen, um komplexere Logik in Deinen VBA-Skripten zu implementieren.

  • Beispiel 3: Nutze die Abfrage in einem größeren Skript, das automatisierte Berichte erstellt, um hervorzuheben, welche Zellen besondere Aufmerksamkeit benötigen.


Tipps für Profis

  • Verwende Exit For: Dadurch wird die Schleife sofort beendet, wenn die erste fett formatierte Zelle gefunden wird, was die Ausführungsgeschwindigkeit erhöht.

  • Kombiniere mit anderen Formatierungsabfragen: Du kannst auch andere Formatierungen prüfen, wie z.B. die Schriftfarbe oder den Hintergrund, um weitere Logik in Deine Excel VBA-Programme zu integrieren.

  • Testen im Debugging-Modus: Wenn Du auf Probleme stößt, nutze den Debugging-Modus im VBA-Editor, um die Werte von Variablen zu überprüfen.


FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um einen anderen Bereich zu überprüfen?
Du musst lediglich den Bereich in der Range(Cells(1, 1), Cells(3, 3))-Anweisung ändern, um andere Zellen zu überprüfen.

2. Kann ich diesen Code in einer Excel-Formel verwenden?
Nein, dieser Code ist spezifisch für VBA und muss innerhalb des VBA-Editors ausgeführt werden. Du kannst jedoch benutzerdefinierte Funktionen erstellen, die in Excel-Formeln verwendet werden können.

3. Was mache ich, wenn ich mehrere Bereiche gleichzeitig prüfen möchte?
Du kannst mehrere For Each-Schleifen verwenden oder die Bereiche in einer einzigen Schleife kombinieren, indem Du die Union-Methode von Excel VBA nutzt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige