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

Forumthread: mit vba zellen in "fett" formatieren

mit vba zellen in "fett" formatieren
19.10.2012 15:38:38
meixner
hallo zusammen,
in spalte A habe möchte ich jede zelle fett und grün formatieren, wo der Text "MSCI DM" steht.
das untere makro funktioniert leider nicht und ich schaffe es nicht umzubauen. kann mir jmd. einen tip geben?
Danke.
dani
Sub wenn_MSCI()
Sheets(6).Activate
Dim z As Object
Dim i As Long
For Each z In Range("A1:A50")
For i = 1 To Len(z.Value)
If z.Characters(i, 1).Font.Bold = True Then
z.Interior.ColorIndex = 3
End If
Next
Next
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit vba zellen in "fett" formatieren
19.10.2012 15:57:41
UweD
Hallo
so.
Sub wenn_MSCI()
Sheets(6).Activate
Dim z As Object, Rng As Range
Dim i As Long
Set Rng = Range("A1:A50")
'**reset
Rng.Font.Bold = False
Rng.Font.ColorIndex = xlAutomatic
For Each z In Rng.SpecialCells(xlCellTypeConstants, 2) '*** nur die Zellen mit Text
If z.Value = "MSCI DM" Then
z.Font.Bold = True
z.Font.Color = -11489280
End If
Next
End Sub

Gruß UweD

Anzeige
AW: mit vba zellen in "fett" formatieren
19.10.2012 16:03:13
meixner
das funktioniert perfekt. Vielen Dank.
Noch eine Frage:
wenn ich aber möchte, dass wenn der Text "MSCI CA" in Spalte A gefunden wird die Formatänderung für die ganze zeile (A:G) übernommen werden soll, wie muss dann das makro heissen?
Grüße
Dani

AW: mit vba zellen in "fett" formatieren
19.10.2012 16:12:54
UweD
Hallo nochmal
dann so:
Sub wenn_MSCI()
Sheets(6).Activate
Dim z As Object, Rng As Range
Dim i As Long
Set Rng = Range("A1:A50")
'**reset
Rng.Font.Bold = False
Rng.Font.ColorIndex = xlAutomatic
For Each z In Rng.SpecialCells(xlCellTypeConstants, 2) '*** nur die Zellen mit Text
If z.Value = "MSCI DM" Then
Range(Cells(z.Row, 1), Cells(z.Row, 7)).Font.Bold = True
Range(Cells(z.Row, 1), Cells(z.Row, 7)).Font.Color = -11489280
End If
Next
End Sub

Gruß UweD

Anzeige
perfekt. vielen dank!
19.10.2012 16:18:50
meixner
perfekt. vielen dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen in Excel mit VBA fett formatieren


Schritt-für-Schritt-Anleitung

Um Zellen in Excel mit VBA fett zu formatieren, kannst du das folgende Makro verwenden. Dieses Beispiel formatiert alle Zellen in Spalte A, die den Text "MSCI DM" enthalten, fett und grün.

  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 in das Modul ein:
Sub wenn_MSCI()
    Sheets(6).Activate
    Dim z As Object, Rng As Range
    Set Rng = Range("A1:A50")

    ' Reset der Schriftarten
    Rng.Font.Bold = False
    Rng.Font.ColorIndex = xlAutomatic

    For Each z In Rng.SpecialCells(xlCellTypeConstants, 2) ' Nur Zellen mit Text
        If z.Value = "MSCI DM" Then
            z.Font.Bold = True
            z.Font.Color = -11489280 ' Grün
        End If
    Next
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus, indem du ALT + F8 drückst und das Makro auswählst.

Häufige Fehler und Lösungen

  • Fehler: "Objektvariable nicht gesetzt"

    • Lösung: Stelle sicher, dass der Bereich A1:A50 auch tatsächlich Zellen mit Text enthält. Überprüfe, ob die Arbeitsmappe und das Arbeitsblatt korrekt ausgewählt sind.
  • Fehler: Schriftart wird nicht fett formatiert

    • Lösung: Vergewissere dich, dass die Zellen zu Beginn nicht bereits fett formatiert sind. Das Beispiel setzt die Formatierung vor der Anwendung zurück.

Alternative Methoden

Eine alternative Methode, um Zellen in Excel fett zu formatieren, besteht darin, bedingte Formatierung zu verwenden. Hierbei wird die Formatierung automatisch angewendet, wenn bestimmte Bedingungen erfüllt sind, ohne VBA zu verwenden.

  1. Wähle den Zellbereich aus (z.B. A1:A50).
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle "Zellen formatieren, die eine Formel enthalten".
  4. Verwende die Formel =A1="MSCI DM".
  5. Wähle das gewünschte Format (fett, grün) und klicke auf OK.

Praktische Beispiele

Wenn du auch die gesamte Zeile (A:G) formatieren möchtest, wenn der Text "MSCI CA" gefunden wird, kannst du das folgende Makro verwenden:

Sub wenn_MSCI()
    Sheets(6).Activate
    Dim z As Object, Rng As Range
    Set Rng = Range("A1:A50")

    ' Reset der Schriftarten
    Rng.Font.Bold = False
    Rng.Font.ColorIndex = xlAutomatic

    For Each z In Rng.SpecialCells(xlCellTypeConstants, 2) ' Nur Zellen mit Text
        If z.Value = "MSCI CA" Then
            Range(Cells(z.Row, 1), Cells(z.Row, 7)).Font.Bold = True
            Range(Cells(z.Row, 1), Cells(z.Row, 7)).Font.Color = -11489280 ' Grün
        End If
    Next
End Sub

Tipps für Profis

  • Verwende Rng.Font.Bold = True, um die Schriftart aller Zellen in einem Bereich schnell auf fett zu setzen.
  • Um die Schriftfarbe anzupassen, kannst du z.Font.Color = RGB(0, 255, 0) verwenden, um eine benutzerdefinierte Farbe anzugeben.
  • Um die Formatierung für mehrere Bedingungen anzuwenden, kannst du ElseIf-Anweisungen in deinem Code nutzen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen gleichzeitig formatieren?
Du kannst den Zellbereich in deinem VBA-Code einfach anpassen, um mehrere Zellen gleichzeitig zu formatieren.

2. Was passiert, wenn ich das Makro ausführe und keine Übereinstimmung finde?
Das Makro wird keine Änderungen vornehmen, wenn keine Übereinstimmungen gefunden werden. Es setzt jedoch die Schriftart der Zellen auf die Standardwerte zurück.

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