Office: (Office 2016) Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben

Helfe beim Thema Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo und guten Tag, ich habe eine Excel-Tabelle, in der eine jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders eingefärbt werden soll.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von BN_62, 30. September 2020.

  1. BN_62 Neuer User

    Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben


    Hallo und guten Tag,

    ich habe eine Excel-Tabelle, in der eine jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders eingefärbt werden soll.

    Hier ein Screenshot, wie es am Ende aussehen soll:

    Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben Tabelle einfärben.jpg

    Die zu färbenden Zeilen haben einen unterschiedlichen Umfang, wie man sieht.

    Ich habe bereits folgenden Code, der grds. auch funktioniert:

    Code:
    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
    
    Allerdings wird auch der Bereich RECHTS über die Tabelle hinaus eingefärbt.
    Es soll aber nur innerhalb der eigentlichen Tabelle gefärbt werden.

    Und... die Tabelle wird immer erweitert. Es werden also Zeilen hinzukommen.
    Das funktioniert aber mit dem obigen Code schon (denke ich doch) ;-)

    Was muss ich am Code ändern, damit auch am rechten Rand der Tabelle Schluss ist mit einfärben?

    Danke und Gruß,
    BN_62
     
  2. Exl121150 Erfahrener User
    Hallo,

    folgendes Makro färbt den Hintergrund der ersten beiden Spalten und fügt Rahmenlinien ein so, wie in deiner Grafik dargestellt:
    Code:
    Option Explicit
    
    Sub ColorRows()
        Dim rgZelle As Range, color1 As Long, color2 As Long, rowColor As Long
        Dim lngZeile1 As Long, lngZeile2 As Long
        
        color1 = vbCyan: color2 = vbWhite
        rowColor = color1
        
        lngZeile1 = 0: lngZeile2 = 0
        
        With ActiveSheet
        
            For Each rgZelle In .Range("A4:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
                If rgZelle.Font.Bold Then
                    rowColor = IIf(rowColor = color1, color2, color1)
                    If lngZeile2 > 0 Then
                       BereichFormatieren Range("A" & lngZeile1 & ":B" & lngZeile2), rowColor
                    End If
                    lngZeile1 = rgZelle.Row
                End If
                lngZeile2 = rgZelle.Row
            Next
            
            rowColor = IIf(rowColor = color1, color2, color1)
            BereichFormatieren Range("A" & lngZeile1 & ":B" & lngZeile2), rowColor
            
        End With
    End Sub
    
    Sub BereichFormatieren(rgBereich As Range, bgFarbe As Long)
    '
      With rgBereich
      
        .Interior.Color = bgFarbe
        
        .Borders(xlDiagonalDown).LineStyle = xlNone
        .Borders(xlDiagonalUp).LineStyle = xlNone
        
        With .Borders()
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlMedium
        End With
        
        With .Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With .Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
      End With
    End Sub
    
     
    Exl121150, 30. September 2020
    #2
  3. BN_62 Neuer User
    Hallo und danke für Deine Mühe.

    Wollte Deinen Code soeben testen.
    Aber es kommt eine Fehlermeldung in Bezug auf die letzte Code-Zeile "BereichFormatieren".

    Der Fehler heißt:

    ---------------------------
    Microsoft Visual Basic for Applications
    ---------------------------
    Fehler beim Kompilieren:

    Sub oder Function nicht definiert
    ---------------------------

    Und - würde statt weiß als zweite Farbe, hier auch einfach "keine Füllung" gehen?

    Schöne Grüße,
    BN_62
     
    Zuletzt bearbeitet: 1. Oktober 2020
  4. Exl121150 Erfahrener User

    Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben

    Hallo,

    Das ist aber nur dann möglich, wenn du nur die SUB ColorRows kopiert hast, nicht aber auch die ebenfalls enthaltene SUB BereichFormatieren, denn dann ist natürlich die letztgenannte SUB nicht definiert. Diese "fehlende" SUB kommt zum Vorschein, wenn du im CODE-Fenster die vertikale Scrollleiste verschiebst - oder aber, wenn du mit dem Mauszeiger ins CODE-Fenster zeigst und gleichzeitig das Scrollrad der Maus betätigst.

    In der beiliegenden Excel-Datei habe ich dir im Arbeitsblatt "Tabelle1" zwei Buttons eingefügt, deren Funktionsweise doch wohl hinreichend klar sein dürfte.

    Auch das war im bisherigen Makro überhaupt kein Problem, wie zu sehen ist, wenn man das Makro ordnungsgemäß laufen lässt.
     
    Zuletzt bearbeitet: 2. Oktober 2020
    Exl121150, 1. Oktober 2020
    #4
Thema:

Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben

Die Seite wird geladen...
  1. Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben - Similar Threads - Jeweils unterschiedliche Anzahl

  2. Abrufen von PivotTable-Daten mit jeweils einem Berichtsfilterelement

    in Microsoft Excel Tutorials
    Abrufen von PivotTable-Daten mit jeweils einem Berichtsfilterelement: Abrufen von PivotTable-Daten mit jeweils einem Berichtsfilterelement Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007...
  3. Auswählen der richtigen Ansicht für die jeweilige Aufgabe in PowerPoint

    in Microsoft PowerPoint Tutorials
    Auswählen der richtigen Ansicht für die jeweilige Aufgabe in PowerPoint: Auswählen der richtigen Ansicht für die jeweilige Aufgabe in PowerPoint PowerPoint für Microsoft 365 PowerPoint für Microsoft 365 für Mac PowerPoint für das Web...
  4. Auswählen der richtigen Ansicht für die jeweilige Aufgabe

    in Microsoft PowerPoint Tutorials
    Auswählen der richtigen Ansicht für die jeweilige Aufgabe: https://eus-streaming-video-rt-microsoft-com.akamaized.net/3fd1c7a8-d07c-4965-841e-8cfe47327207/9baa08d6-4f02-4823-8929-17884b59_3400.mp4 Probieren Sie es aus! Wählen Sie die...
  5. Anzeigen von jeweils einer Seite nebeneinander

    in Microsoft Word Tutorials
    Anzeigen von jeweils einer Seite nebeneinander: Anzeigen von jeweils einer Seite nebeneinander Word für Microsoft 365 Word 2019 Word 2016 Mehr... Weniger...
  6. Spalten Inhalt in L soll immer der jeweiligen Nummer aus B fest zugeordnet werden

    in Microsoft Excel Hilfe
    Spalten Inhalt in L soll immer der jeweiligen Nummer aus B fest zugeordnet werden: Hallo, ich habe eine Exceldateiwo ich mir auf einem Tabellenblatt aus verschiedenen anderen Blättern über sverweise Daten zusammensetze. Dann gibt es eine Spalte L in der anschließend Massnahmen...
  7. Berichtsbereiche mit jeweils anderen Abfragen füllen(Textfelder)

    in Microsoft Access Hilfe
    Berichtsbereiche mit jeweils anderen Abfragen füllen(Textfelder): Hallo Ihr lieben, seit einiger Zeit befasse ich mich damit ein Bericht zu gestalten und verzweifle gerade daran, da es irgendwie nicht so wird wie ich das gerne hätte. Also es geht um eine Art...
  8. Zeile ganz duplizieren 1 mal wenn die Zelle x und y jeweils ein wert haben!

    in Microsoft Excel Hilfe
    Zeile ganz duplizieren 1 mal wenn die Zelle x und y jeweils ein wert haben!: Hallo Experts, ich moechte Zeilen ganz duplizieren: 1 mal wenn die Zelle x und y jeweils ein wert haben! oder x und z, oder y und z. 2 mal duplizieren wenn x , y, und z werte aufweist....
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden