[VBA] Nicht leere Zellen highlighten?

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    [VBA] Nicht leere Zellen highlighten?

    Mohoin

    und zwar habe ich in Excel einige hundert Datensätze und würde gerne in der Range von A2:AZ2 in den Spalten G, H, N, O, P, Y-AZ bspw. alle nicht leeren Zellen per Hintergrundfarbe hervorheben.
    Sprich: Zelle hat Eintrag => Hintergrundfarbe gelb.

    Wie es andersrum (Leere Zellen hervorheben) geht, habe ich bereits herrausgefunden, aber an diesem Problem suche ich mir die Finger wund :(
    Jmd ne Idee?


    Beste Grüße
    Danke!

    Grüße,
    Kevin
    Wie hast Du das Leerzeilenhervorhebungsproblem gelöst und warum kehrst Du jene Lösung nicht einfach um?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Also wenn ich die blanken Zellen highlighten will, ists nicht nur auf bestimmte Rows beschränkt, da mache ich dass dann einfach mit:

    VB.NET-Quellcode

    1. Dim myRange As Range
    2. Set myRange = Worksheets("D1379_CL").Range("A2:AZ999")
    3. 'clear all color
    4. myRange.Interior.ColorIndex = xlNone
    5. 'color only blank cells
    6. myRange.SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 6


    Wenn ich nach den nicht leeren Zellen suche, heißt es ja nicht, dass die gesamte Row leer ist, sondern nur teile davon - und die leeren Zellen in den oben genannten Columns sollen eben gehighlighted werden :)


    Beste Grüße
    Danke!

    Grüße,
    Kevin
    Ändere doch einfach in Zeile 6 das xlNone in das, was Du willst und fertig => zuerst wird alles z.B. grün und durch Zeile 9 wird alles, was leer ist, ColorIndex 6 (braun? Ich hatte mal vor vielen Jahren die QBFarben von 0-15 im Kopf X/ ).
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    So was löst man doch über bedingte Formatierung und nicht mittels VBA.

    Falls du die Formatierung nicht von Hand, sondern per Code einfügen willst, musst du diesen Code nur einmal ausführen und den Rest macht Excel zukünftig automatisch:

    Visual Basic-Quellcode

    1. Dim fc As FormatCondition, Rng As Range
    2. Set Rng = Worksheets("D1379_CL").Range("A2:AZ999")
    3. Rng.FormatConditions.Delete
    4. Set fc = Rng.FormatConditions.Add(Type:=xlCellValue, Operator:=xlNotEqual, Formula1:="=""""")
    5. fc.Interior.PatternColorIndex = xlAutomatic
    6. fc.Interior.Color = RGB(255, 255, 0)
    7. fc.Interior.TintAndShade = 0
    8. fc.StopIfTrue = False
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „petaod“ ()