Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If-Schleife führt nur else aus

If-Schleife führt nur else aus
06.12.2019 14:27:16
Nico264
Hallo liebes Forum,
ich habe hier einen kleinen Code, der prüft ob ein Wert aus Liste 1 in Liste 2 vorkommt.
Wenn ja, dann soll ein wert aus Liste 2 nach Liste 1 kopiert werden und in eine andere Spalte ein "Ja" eingetragen werden.
Wenn der Wert nicht in Liste 2 vorkomt, soll in diese Spalte ein "Nein" eingetragen werden.
Das hätte ich dann per Else Funktion eintragen lassen.
Allerdings trägt er bei jedem Wert ein "Nein" ein, egal ob dieser in der Liste steht oder nicht.
Weiß jemand was ich falsch mache?
Hier der Code:

Private Sub CommandButton1_Click()
Dim z, y As Integer
Application.ScreenUpdating = False
For y = 3 To 80
For z = 216 To 400
If Sheets("hppDE_aktuelle STP").Cells(z, 2) = Sheets("BOM_aktuell").Cells(y, 1) Then
Sheets("BOM_aktuell").Cells(y, 5).Copy
Sheets("hppDE_aktuelle STP").Cells(z, 18).PasteSpecial Paste:=xlValues
Sheets("hppDE_aktuelle STP").Cells(z, 18).PasteSpecial Paste:=xlPasteFormats
Sheets("hppDE_aktuelle STP").Cells(z, 6) = "Ja"
Else: Sheets("hppDE_aktuelle STP").Cells(z, 6) = "Nein"
End If
Next z
Next y
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If-Schleife führt nur else aus
06.12.2019 14:37:43
peter49
Hallo Nico
Nach der Zeile mit dem "Ja" fehlt ein Exit For
Gruss aus der Schweiz
AW: If-Schleife führt nur else aus
06.12.2019 14:42:36
Nico264
Hallo Peter,
danke für deine schnelle Antwort. Hab es ausprobiert aber klappt leider nicht.
Gruß
Nico
AW: If-Schleife führt nur else aus
06.12.2019 14:46:03
Daniel
Ja dann springt er in die nächste For Schleife und macht weiter.
Besser gleich mit Exit Sub beenden.
Gruß
Daniel
AW: If-Schleife führt nur else aus
06.12.2019 14:51:14
Torsten
versuch mal die For Schleifen auszutauschen. Erst z und dann y
Gruss Torsten
AW: If-Schleife führt nur else aus
06.12.2019 15:39:28
Daniel
Hi
der Fehler ist, das du bei jedem Schleifendurchlauf das "nein" schreibst, auch wenn schon eine Übereinstimmung gefunden wurde. dh wenn der erste Umlauf einen Treffer hat, wird "ja" geschrieben. Wenn dann beim zweiten Durchlauf kein Treffer vorhanden ist, überschreibst du dir das "ja" mit "nein".
bei den Inhalten machst du nichts, deswegen bleiben die erhalten.
du könntest dir auch erstmal in alle Zellen ein "nein" schreiben und dieses dann mit "ja" überschreiben, wenn es einen Treffer gibt.
   Private Sub CommandButton1_Click()
Dim z, y As Integer
Application.ScreenUpdating = False
Sheets("hppDE_aktuelle STP").Range("F216:F400").value  = "Nein"
For y = 3 To 80
For z = 216 To 400
If Sheets("hppDE_aktuelle STP").Cells(z, 2) = Sheets("BOM_aktuell").Cells(y, 1) Then
Sheets("BOM_aktuell").Cells(y, 5).Copy
Sheets("hppDE_aktuelle STP").Cells(z, 18).PasteSpecial Paste:=xlValues
Sheets("hppDE_aktuelle STP").Cells(z, 18).PasteSpecial Paste:=xlPasteFormats
Sheets("hppDE_aktuelle STP").Cells(z, 6) = "Ja"
End If
Next z
Next y
End Sub
Gruß Daniel
Anzeige
AW: If-Schleife führt nur else aus
06.12.2019 18:46:06
Piet
Hallo
gute Idee von Daniel, den ganzen Block auf "Nein" zu setzen, um dann mit "Ja" zu überschreiben!
Ich schlage vor hinter dem "Ja" noch -Exit For- zu setzen, weil ich annehme das alle y Zeilen mit x verglichen werden sollen! Ist meine Annahme da richtig?
mfg Piet

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige