Supportnet / Forum / Tabellenkalkulation
Verschachtelte If Abfrage
Frage
Hallo Communtiy,
ich komm nicht weiter. Hab folgendes Makro, dass jedoch wegen "fehlendem Objekt" nicht läuft. Für VBA Experten, bzw. Fortgeschrittene ist das sicher kein Problem, als Newbie aber, ...
Sub Test()
Dim i%
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 5).Value.Offset(-1, 0) = "Mahnkosten" Then
ActiveCell.Value = "Forderung"
End If
Next i
End Sub
Das Makro soll überprüfen, ob in der Spalte "E" in der entsprechenden Zeile der Wert "10" enthalten ist (dieser Teil fehlt noch komplett im Makro) und dann (wenn "wahr") weiter in Spalte "D" überprüfen ob das Wort "Mahnkosten" enthalten ist, wenn beide Bedingungen erfüllt sind, soll ein bestimmter Wert ("Forderung") in die jeweilige Zelle in Spalte "E" übergeben werden.
Gruß
marl
Antwort 1 von Guenter
Hallo,
probiere mal dieses Makro:
Vielleicht war's das schon?
Gruß
Günter
probiere mal dieses Makro:
Option Explicit
Sub Test()
Dim i%
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 5).Value = "10" And Cells(i, 4).Value = "Mahnkosten" _
Then Cells(i, 5).Value = "Forderung"
Next i
End Sub
Vielleicht war's das schon?
Gruß
Günter
Antwort 2 von martl
Hallo,
vielen Dank für die schnelle Rückmeldung. Und schon wieder etwas gelernt. Leider erfolgt bei mir durch das Makro keine Änderung in der Tabelle. Das Makro hab ich über die VBA Umgebung, sowie über die Symbolleiste und über Extras/Makro gestartet, es läuft ohne Fehler durch, jedoch ohne die Änderungen in der Spalte "E".
Gruß
martl
vielen Dank für die schnelle Rückmeldung. Und schon wieder etwas gelernt. Leider erfolgt bei mir durch das Makro keine Änderung in der Tabelle. Das Makro hab ich über die VBA Umgebung, sowie über die Symbolleiste und über Extras/Makro gestartet, es läuft ohne Fehler durch, jedoch ohne die Änderungen in der Spalte "E".
Gruß
martl
Antwort 3 von Guenter
Hallo,
eine Änderung in der Tabelle erfolgt nur dann,
wenn in Spalte E 10 steht und in Spalte D in der gleichen Zeile Mahnkosten.
Dann wird in Spalte E Forderung geschrieben.
Gruß
Günter
eine Änderung in der Tabelle erfolgt nur dann,
wenn in Spalte E 10 steht und in Spalte D in der gleichen Zeile Mahnkosten.
Dann wird in Spalte E Forderung geschrieben.
Gruß
Günter
Antwort 4 von martl
Hallo Günter,
hab mir das Makro nochmal angeschaut und meinen Fehler gefunden. Bei dem Makro hab ich zum Testen Werte nur in Spalte D und E erfasst.
Im Makro wird aber auf die Spalte 1 geprüft, indem (in meiner "großen Tabelle") auch Werte stehn:
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Hab das also mit der Spalte 4 ("D") nochmals ausprobiert - jetzt funktionierts spitzenmässig.
Vielen Dank für die tatkräftige, schnelle und kompetente Unterstüzung.
Viele Grüße und einen schönen Abend
martl
hab mir das Makro nochmal angeschaut und meinen Fehler gefunden. Bei dem Makro hab ich zum Testen Werte nur in Spalte D und E erfasst.
Im Makro wird aber auf die Spalte 1 geprüft, indem (in meiner "großen Tabelle") auch Werte stehn:
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Hab das also mit der Spalte 4 ("D") nochmals ausprobiert - jetzt funktionierts spitzenmässig.
Vielen Dank für die tatkräftige, schnelle und kompetente Unterstüzung.
Viele Grüße und einen schönen Abend
martl