Supportnet Computer
Planet of Tech

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:

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

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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: