Excel Vba Wert in Bereich prüfen?

Excel Mappe Entwurf - (programmieren, Microsoft Excel, VBA)

2 Antworten

schreibe eine For...Next-Schleife und nimm als variable gleich die aktuelle Zeile.

For Zeile =2 To 15
If Cells (Zeile, 2).Value <>Cells(Zeile, 3). Value Then ...
Next

wenn du nicht immer festlegen kannst wie groß der Bereich ist (letzte Zeile) dann Google mal nach dem Begriff "Excel letzte Zeile ermitteln vba" (vom Handy macht es sich gerade schlecht) und ersetze die "15" durch den entsprechenden Befehl.


Ninombre  21.04.2016, 19:31

Die fehlerhafte Zeile kannst du in der Meldung auch aufnehmen 

Msgbox("Fehler in Zeile " & Zeile) 

Zeile hier die Variable , die in der for Schleife verwendet wird 

1
Suboptimierer  21.04.2016, 19:47
@Ninombre

Kann man machen, aber bei MsgBoxen in Schleifen muss man genau wissen, was man tut. ;)

Besser man schaft sich eine Variable sMsg und hängt immer die Zeile an:

sMsg = sMsg & "Fehler in Zeile " & Zeile & vbCrLf

Unter der Schleife gibt man dann sMsg mit einer MsgBox aus.

0
Garfield0001  22.04.2016, 06:31

oder man färbt die Zellen ein

0

Muss es VBA sein?

Diese Aufgabe könnte man auch schön mit einer bedingten Formatierung lösen:

=B1<A1

Oder du definierst eine Gültigkeitsprüfung. Dann bekommst du sogar eine Meldung im Fehlerfall:

Spalte B markieren, dann Daten → Datenüberprüfung → Zulassen: Datum größer als =A1
Auf dem Register "Fehlermeldung" definierst du dir die anzuzeigende Meldung.

Woher ich das weiß:Berufserfahrung – Programmierer