Schleife Bereich prüfen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Schleife Bereich prüfen
von: Lisa
Geschrieben am: 21.04.2015 16:34:35

Hallo zusammen, ich würde mich über eine Hilfe von Euch sehr freuen.
Im Anhang habe ich eine Datei, in welcher ich einen Bereich prüfe.
Ich würde gern zusätzlich die leeren Felder farblich markieren.
Leider fehlen mir hierzu die nötigen Kenntnisse.
Anbei das Makro. zur Bessren Erklärung auch der Anhang.
https://www.herber.de/bbs/user/97208.xls

Sub Makro1()
    ActiveWorkbook.Names.Add Name:="ZuTesten", RefersTo:= _
        "=Tabelle1!B4,Tabelle1!D4,Tabelle1!F4,Tabelle1!B6,Tabelle1!D6,Tabelle1!F6"
    
    Dim z As Range
    Dim Leer As String
    For Each z In Tabelle1.[ZuTesten]
        If z.Value = "" Then _
            Leer = Leer & z.Address & ", "
    Next
    If Len(Leer) = 0 Then Exit Sub
    Leer = Left(Leer, Len(Leer) - 2)
    MsgBox "Die Zellen " & Leer & " müssen noch ausgefüllt werden."
End Sub

Liebe Grüße Lisa

Bild

Betrifft: AW: Schleife Bereich prüfen
von: Daniel
Geschrieben am: 21.04.2015 16:43:19
Hi
1. wenn du den Namen definierst, solltest du absolute Zellbezüge verwenden.
ansonsten ist der Bezug immer relativ zur aktiven Zelle zu sehen:


ActiveWorkbook.Names.Add Name:="ZuTesten", RefersTo:= _
        "=Tabelle1!$B$4,Tabelle1!$D$4,Tabelle1!$F$4,Tabelle1!$B$6,Tabelle1!$D$6,Tabelle1!$F$6"
2. diese Namesdefinition solltest du nicht im Code, sondern von Hand im Namenseditor erstellen.
das hätte auch den Vorteil, dass du den Code nicht anspassen musst, wenn mal Zellen einfügst oder löschst oder verschiebst.
3. würde ich die Kennzeichnugn nicht per Makro, sondern ber bedingter Formateierung machen (wenn Zelle leer, dann rot)
Gruß Daniel

Bild

Betrifft: AW: Schleife Bereich prüfen
von: Lisa
Geschrieben am: 22.04.2015 12:37:42
Hallo Daniel, vielen Dank für deine sehr schnelle Antwort.
Ich benötige die direkten Zellbezüge innerhalb des Namens, da diese auch direkt farblich markiert werden sollten, wenn sie Leer sind. So jedenfalls meine Idee.
Die Änderung des Bereiches im Namen müsste, ob nun im VBA Code oder im Namensmanager, gegbenenfalls geä. werden, ja, aber das wäre mir nicht so wichtig ob hier oder da.
Mit eine bedingten Formatierung kann ich auch arbeiten, würde es aber gern in einem bestehendem Makro integrieren.
Also das Makro funktioniert, so wie es ist, ja sehr gut, was mir aber fehlt, ist die farbliche Markierung der leeren Zellen.
Ich stelle diese Frage noch einmal als offen ein. Evtl. hat ja noch jemand eine Idee?
LG Lisa

Bild

Betrifft: AW: Schleife Bereich prüfen
von: Daniel
Geschrieben am: 22.04.2015 12:57:40
Hi
naja die Färbung kannst du doch auf einfachste Weise in den Makro mit aufnehmen:

      For Each z In Tabelle1.[ZuTesten]
          If z.Value = "" Then
              Leer = Leer & z.Address & ", "
              z.Interior.color = vbred
          Else
              z.Interior.colorindex = xlnone
          End If
      Next
Gruß Daniel

Bild

Betrifft: AW: Schleife Bereich prüfen
von: Lisa
Geschrieben am: 22.04.2015 13:25:43
Hallo Daniel, vielen herzlichen Dank, klappt prima.
LG Lisa

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Schleife Bereich prüfen"