Microsoft Excel

Herbers Excel/VBA-Archiv

VBA-Code zum Einfärben von Bereichen?

Betrifft: VBA-Code zum Einfärben von Bereichen? von: Pat132
Geschrieben am: 27.10.2014 14:56:00

Guten Tag zusammen,
ich würde gerne einen bestimmten Bereich eines Arbeitsblatts sehr einfach - am besten mit dem BeforeRightClick-Ereignis - automatisch einfärben. Konkret geht es um einen Bereich der immer in Spalte "UB" endet. Der Beginn des Bereiches kann aber zwischen den Spalten "C" und "UA" schwanken.

Der Bereich ist dabei immer vier Zeilen hoch (es befinden sich mehrere dieser 4-Zeilen-hohen Bereiche auf meinem Blatt). Am besten wäre es, wenn man diese vier Zeilen mit der Maus markiert, und dann mit Rechtsklick den Bereich von dort an bis "UB" einfärbt.

Haben Sie Anregungen für mich?
Mit Dank & Gruß, Patrik

  

Betrifft: AW: VBA-Code zum Einfärben von Bereichen? von: MCO
Geschrieben am: 28.10.2014 07:24:33

Moin!

Dieser Code fügt dem Kontextmenü (rechte Maus) einen Menüpunkt hinzu, der dann den 2ten Code ausführt.
Probiers mal aus!

Gruß, MCO

Sub kontext()

With Application.CommandBars("Cell")
    .Reset
    Set Ctrl = .Controls.Add(msoControlButton)
    
    With Ctrl
        .Caption = "Einfärben"
        .OnAction = "Einfärben"
        .FaceId = 688
    End With
End With
End Sub

Sub einfärben()
'Färbung komplett entfernen
Cells.Interior.ColorIndex = xlNone
'mindestens Spalte 3 ("C")
spalte = WorksheetFunction.Max(ActiveCell.Column, 3)
'Bereich festlegen
Set Rng = Range(Cells(ActiveCell.Row, spalte), Cells(ActiveCell.Row + 3, "UB"))
'Bereich färben
Rng.Interior.ColorIndex = 34
End Sub



  

Betrifft: AW: VBA-Code zum Einfärben von Bereichen? von: Pat132
Geschrieben am: 28.10.2014 10:13:27

Hallo MCO,

ich habe Deinen Vorschlag mit einigen Anpassungen ausprobiert. Die Lösung ist weitaus professioneller, als ich mir gewünscht habe! Ganz herzlichen Dank!
Gruß, Patrik


 

Beiträge aus den Excel-Beispielen zum Thema "VBA-Code zum Einfärben von Bereichen?"