vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Zeilen abwechselnd einfärben per VBA-Code für eine Excel-Tabelle (Vers. 2016) 
Autor: imebro
Datum: 30.10.20 10:38

Hallo und guten Tag,

ich habe eine Excel-Tabelle, in der grds. Zeilen unterschiedlich eingefärbt werden sollen aufgrund der besseren Übersicht.

Aber...
In meinem Fall ist es so, dass nicht jede zweite Zeile eingefärbt werden soll, sondern es gibt immer mehrere zusammenhängende Zeilen, die in der gleichen Farbe eingefärbt werden sollen. Die Anzahl dieser zusammenhängenden Zeilen unterscheidet sich jedoch.

Ich habe hier mal eine Beispieldatei angehängt, in der sich auch bereits ein VBA-Code befinden dürfte (Makro), der leider nicht korrekt funktioniert. Bei dieser Lösung wird auch der Bereich rechts und unten von der bestehenden Tabelle mit eingefärbt, was natürlich nicht so sein darf.

Hier die Tabelle zum Download:
https://workupload.com/start/FpdJDNHpVCz


Die Farben sollen sein:
1) weiß
2) Hexadezimal: #e2efda


Hier der aktuelle VBA-Code, der leider nicht funktioniert:
Sub ColorRows()
    Dim cell As Range, color1 As Variant, color2 As Variant, rowColor As Variant
    color1 = vbCyan
    color2 = vbWhite
    With ActiveSheet
        For Each cell In .Range("A4:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
            If cell.Font.Bold Then
                rowColor = IIf(rowColor = color1, color2, color1)
            End If
            cell.EntireRow.Interior.Color = rowColor
        Next
    End With
End Sub
Kann jemand von Euch hier weiterhelfen?

Danke und Gruß,
imebro

Beitrag wurde zuletzt am 30.10.20 um 10:39:02 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeilen abwechselnd einfärben per VBA-Code für eine Excel-Tabelle (Vers. 2016) 
Autor: imebro
Datum: 30.10.20 11:23

...falls es noch früh genug ist, hier eine neue Fassung der oben verlinkten Excel-Datei. Hier gibt es ein 2. Tabellenblatt, in dem man genau sieht, wie es am Ende aussehen soll:

https://workupload.com/file/L2MS5hgxKdm

Freue mich auf Eure Tipps.

Gruß,
imebro
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeilen abwechselnd einfärben per VBA-Code für eine Excel-Tabelle (Vers. 2016) 
Autor: imebro
Datum: 30.10.20 13:24

Hallo nochmal.

Ich habe jetzt den obigen VBA-Code ein klein wenig abgeändert.
Mit diesem Code werden die unterschiedlichen Zeilen-Blöcke grds. korrekt eingefärbt.

Das einzige Problem ist, dass auch hier die Einfärbung noch rechts über die Tabelle hinausgeht.

Hier der neue Code:

Sub ColorRows()
    Dim cell As Range, color1 As Variant, color2 As Variant, rowColor As Variant
    color1 = RGB(226, 239, 218)
    color2 = vbWhite
    With ActiveSheet
        For Each cell In .Range("A4:B22" & .Cells(Rows.Count, 1).End(xlUp).Row)
            If cell.Font.Bold Then
                rowColor = IIf(rowColor = color1, color2, color1)
            End If
            cell.EntireRow.Interior.Color = rowColor
        Next
    End With
End Sub
Gruß,
imebro
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeilen abwechselnd einfärben per VBA-Code für eine Excel-Tabelle (Vers. 2016) 
Autor: emaNoN
Datum: 31.10.20 13:29

Versuch mal folgendes:

Sub ColorRows()
    Dim cell As Range, color1 As Variant, color2 As Variant, rowColor As Variant
    Dim letzeSpalte As Integer
    Dim i As Integer
 
    color1 = vbCyan
    color2 = vbWhite
 
    With ActiveSheet
 
        letzeSpalte = .Range("A:Z").SpecialCells(11).Column
 
        For Each cell In .Range("A4:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
            If cell.Font.Bold Then
                rowColor = IIf(rowColor = color1, color2, color1)
            End If
 
            For i = 1 To letzeSpalte
 
                cell(1, i).Interior.Color = rowColor
 
            Next
 
        Next
    End With
End Sub


Beitrag wurde zuletzt am 31.10.20 um 13:33:18 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeilen abwechselnd einfärben per VBA-Code für eine Excel-Tabelle (Vers. 2016) 
Autor: imebro
Datum: 04.11.20 07:52

Hallo und danke für den Code.

Werde es nachher mal testen.

Grüße,
imebro
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeilen abwechselnd einfärben per VBA-Code für eine Excel-Tabelle (Vers. 2016) 
Autor: imebro
Datum: 06.11.20 14:15

Danke für die Hilfe. Hat soweit funktioniert.

Grüße,
imebro
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel