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

Wenn...dann..."ganze Zeile kursiv markieren"

Forumthread: Wenn...dann..."ganze Zeile kursiv markieren"

Wenn...dann..."ganze Zeile kursiv markieren"
30.06.2014 15:41:19
Lisa
Hallo liebe Leute,
Möchte eine Überprüfung machen und bin auf der Suche nach dem VBA Makro dafür:
"Wenn in Zelle K2 ein Datum steht, dann markiere A2:Q2 in Calibri 11 kursiv".
Viele Grüße
Lisa

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Warum MakroSuche? Aktion aufzeichnen und ...
30.06.2014 15:49:03
Luc:-?
If … Then-Abfrage ergänzen, Lisa;
die paar Zeilen solltest du doch auch bei deinem Level hinbekommen… ;-)
Bspw so: If Range("K2").NumberFormat = "dd.mm.yyyy" Then
Gruß Luc :-?

AW: Warum MakroSuche? Aktion aufzeichnen und ...
30.06.2014 16:15:56
Lisa
Hallo Luc,
das mit der Wenn-Abfrage hätte ich auch mit dem Rekorder noch hinbekommen. Problem ist eher die Zeilenformatierung ins Kursive.
Sub Makro4()
If Range("K2").NumberFormat = "dd.mm.yyyy" Then
Range("A2:Q2").Font.Italic = True
End If
End Sub
Funktioniert aber irgendwie nicht ganz.
Viele Grüße
Lisa

Anzeige
AW: Warum MakroSuche? Aktion aufzeichnen und ...
30.06.2014 16:36:02
Daniel
Hi
das Zahlenformat alleine Zu prüfen, ist keine gute Idee.
a) können auch leere Zellen ein Zahlenformat haben
b) kann man das Zahlenformat leicht ändern und dann passt der Code nicht mehr
c) hat man bei Zahlen- und Datumsformaten in VBA immer das Problem mit dem Wechselspiel der deutschen- und englischen Schreibweise.
im Prinzp sollte es reichen abzufragen, ob eine Zahl grösser 30.000 in der Zelle steht, das wird dann in den meisten Fällen ein Datum sein (wenn man mit Datumswerten vor 1982 arbeitet, muss man den Wert entsprechend kleiner ansetzen)
Gruß Daniel

Anzeige
AW: Wenn...dann..."ganze Zeile kursiv markieren"
30.06.2014 16:19:56
Daniel
Hi
da ein Datum für Excel eine Zahl ist, probiere folgendes:
wenn die Werte in K von hand eingegeben werden:
If Worksheetfunction.count(Rang("K:K")) > 0 Then
With Range("K:K").SpecialCells(xlcelltypeconstants, 1)
With Intersect(.EntireRow, Range("A:Q").font
.Name = "Calibri"
.Size = 11
.Italic = True
End With
End with
end if
wenn die Werte durch Formeln erzeugt werden, ersetze in der SpecialCells-Funktion das "xlcelltypeconstants" durch "xlcelltypeformulas"
Gruß Daniel

Anzeige
AW: Wenn...dann..."ganze Zeile kursiv markieren"
30.06.2014 16:30:34
Claus
Ginge das denn mit bedingter Formatierung nicht viel einfacher?

AW: Wenn...dann..."ganze Zeile kursiv markieren"
30.06.2014 16:40:02
Lisa
Habs nun mit der bedingten Formatierung gelöst. Danke für den Tipp

AW: Wenn...dann..."ganze Zeile kursiv markieren"
30.06.2014 16:41:56
Claus
Bitte, und grade als du es gemacht hast habe ich es noch genauer beschrieben. Freut mich aber, dass es hilfreich war, danke fürs feedback.

Anzeige
AW: Wenn...dann..."ganze Zeile kursiv markieren"
30.06.2014 16:40:42
Daniel
theoretsich ja, aber du kannst mit der Bedingten Formatierung nur Formate ändern, die keinen Einfluss auf die automatische Zellgrösse haben.
Deswegen sind Schriftgrad und Schriftart bislang noch von der Bedingten Formatierung ausgeschlossen.
Ebenso kannst du nur eine Rahmendicke in der Bedingten Formatierung verwenden, weil dickere Rahmenlinien die Zellhöhe verändern.
über die Bedingte Formatierung kannst du von angesprochenen Formaten nur das Italic einstellen.
Gruß Daniel

Anzeige
AW: Wenn...dann..."ganze Zeile kursiv markieren"
30.06.2014 16:44:24
Claus
ah, interessant, danke für die Eräuterung. Na, jedenfalls schein es Lisa so gereicht zu haben und ich bin bissle schlauer geworden.

AW: Wenn...dann..."ganze Zeile kursiv markieren"
30.06.2014 16:40:48
Claus
Also die Bedingte Formatierung auf K2 machen, in der Formel aus K2 ... $K$2 machen und dann mit dem Formatübertragungspinsel auf A2:Q2 übertragen.
;
Anzeige
Anzeige

Infobox / Tutorial

Ganze Zeile kursiv markieren mit VBA und bedingter Formatierung


Schritt-für-Schritt-Anleitung

Um eine ganze Zeile in Excel kursiv zu formatieren, wenn in einer bestimmten Zelle ein Datum steht, kannst du sowohl VBA als auch bedingte Formatierung verwenden. Hier sind die Schritte für beide Methoden:

Mit VBA:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul.

  3. Füge den folgenden Code ein:

    Sub GanzeZeileKursivMarkieren()
        If Range("K2").NumberFormat = "dd.mm.yyyy" Then
            Range("A2:Q2").Font.Italic = True
        End If
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus.

Mit bedingter Formatierung:

  1. Markiere den Bereich A2:Q2.

  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.

  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden.

  4. Gib die folgende Formel ein:

    =$K$2<>"" 
  5. Klicke auf Formatieren, wähle Schriftart und aktiviere Kursiv.

  6. Bestätige mit OK.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass die Zelle K2 ein gültiges Datum im Format "dd.mm.yyyy" enthält. Überprüfe auch, ob das Makro korrekt gespeichert und ausgeführt wird.
  • Fehler: Die bedingte Formatierung wird nicht angewendet.

    • Lösung: Vergewissere dich, dass die Formel korrekt eingegeben wurde und dass der Bereich A2:Q2 richtig ausgewählt ist.

Alternative Methoden

Neben VBA und bedingter Formatierung gibt es auch andere Methoden, um Zeilen in Excel zu formatieren. Eine Möglichkeit ist die Verwendung von Formeln innerhalb von Excel, um dynamisch auf bestimmte Bedingungen zu reagieren. Du könntest auch die Formatübertragung verwenden, um Formatierungen von einer Zelle auf andere zu kopieren.


Praktische Beispiele

  1. Verwendung von VBA für mehrere Zeilen:

    Sub MarkiereAlleZeilen()
        Dim i As Integer
        For i = 2 To 100 ' Beispiel für Zeilen 2 bis 100
            If Range("K" & i).NumberFormat = "dd.mm.yyyy" Then
                Range("A" & i & ":Q" & i).Font.Italic = True
            End If
        Next i
    End Sub
  2. Bedingte Formatierung auf mehrere Zeilen anwenden:

    • Wähle den Bereich A2:Q100 und wende dieselbe Formel an, um das Format auf alle Zeilen zu übertragen.

Tipps für Profis

  • Nutze die SpecialCells-Methode in VBA, um gezielt Zellen mit bestimmten Formaten anzusprechen.
  • Wenn du mit Formeln arbeitest, denke daran, die Zellreferenzen zu fixieren (z.B. $K$2), um sicherzustellen, dass die Formatierung auf die richtige Zelle verweist.
  • Überprüfe die Excel-Version, da einige Funktionen in älteren Versionen möglicherweise nicht verfügbar sind.

FAQ: Häufige Fragen

1. Kann ich die Schriftart und -größe über die bedingte Formatierung ändern? Nein, die bedingte Formatierung erlaubt es nur, die Schriftart kursiv zu setzen. Schriftgröße und -art sind davon ausgeschlossen.

2. Welche Excel-Version wird benötigt, um VBA zu nutzen? VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365.

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