Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

2 For Schleifen mit if

Forumthread: 2 For Schleifen mit if

2 For Schleifen mit if
20.06.2013 10:18:01
dandan
Hallo,
es geht um zwei Arbeitsmappen.
Im Prinzip findet ein Vergleich von zwei Tabellen statt.
1. Tabelle unter Sheet 'Stücklisten'. https://www.herber.de/bbs/user/85919.xlsm
2. Tabelle in Arbeitsmappe Komponentenuebersicht und Sheet 'Komponentenübersicht'. https://www.herber.de/bbs/user/85921.xlsm
Jede Zelle der ersten Spalte von 1 soll mit jeder Zeile von 2 der ersten Spalte verglichen werden.
Wird der Wert in 2 gefunden bzw. ist identisch, geht die Schleife zur nächsten Zelle von 1 über.
Wird der Wert nicht gefunden, wird er in die unterste Zeile + 1 kopiert und kopiert zudem die zweite Spalte von 2 in die zweite Spalte von 1. (evtl mit Offset

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 For Schleifen mit if
20.06.2013 10:37:41
Luschi
Hallo dandan,
wie soll das funktionieren:

Wird der Wert nicht gefunden, wird er in die unterste Zeile + 1 kopiert und kopiert zudem die zweite Spalte von 2 in die zweite Spalte von 1. (evtl mit Offset)

In der 2. Spalte von Datei '2' kann nix stehen, da ja der gesuchte Wert in Spalte '1" der Datei '2' nicht gefunden wurde.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: 2 For Schleifen mit if
20.06.2013 11:41:48
dandan
Stimmt du hast Recht.
Ich meine:
Wird der Wert nicht gefunden, wird er in die unterste Zeile + 1 kopiert und kopiert zudem die zweite Spalte von 1 in die zweite Spalte von 2. (evtl mit Offset)

AW: 2 For Schleifen mit if
20.06.2013 13:11:50
Luschi
Hallo dandan,
kann Dir im Moment aber nicht weiterhelfen, da ich hier hinter einer mir feindlich gesinnten FireWall sitze, die nur xls & zip-Dateien durchläßt.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: 2 For Schleifen mit if
20.06.2013 14:45:08
dandan
okay,
ich habe das bis jetzt
Sub test()
Dim i, j As Integer
Dim wkb1 As Workbook
Dim wkb2 As Workbook
Dim wert1, wert2 As String
Dim anfueg As Boolean
Set wkb1 = ThisWorkbook 'wäre dann Komponentensheet
'Hier den Pfad von der Datei mit den Komponenten eintragen
'bzw. Pfad von Stückliste
Set wkb2 = Workbooks("KonstruktionsDatenVerwaltung.xlsm")
anfueg = True
i = 2 'steht für Zeile 2 im Sheet Stücklisten
Do While wkb1.Worksheets("Stücklisten").Cells(i, 1)  ""
'Sheet Stückliste ab Zeile 2 Spalte 1 falls ungleich
j = 2
wert1 = wkb1.Worksheets("Stücklisten").Cells(i, 1).Value 'Definition von S-Nrn in den  _
Zellen als Wert 1
Do While wkb2.Worksheets("Komponentenübersicht").Cells(j, 1)  ""
wert2 = wkb2.Worksheets("Komponentenübersicht").Cells(j, 1).Value ' Def.  _
Komponente von KSheet
j = j + 1 'Zeile darunter
If wert1 = wert2 Then
'falls in Liste enthalten nicht anfügen bzw. wenn werte identisch
anfueg = False ' nicht anfuegen
End If
Loop
If anfueg = True Then ' Es wird definiert was bei 'anfuegen' getan wird
'j enthält die erste freie zeile
wkb2.Worksheets("Komponentenübersicht").Cells(j, 1).Value = wert1
' Wert bzw. Snr wird in die erste freie Zeile übernommen
wkb2.Worksheets("Komponentenübersicht").Cells(j, 2).Value = wkb1.Worksheets("Stü _
cklisten").Cells(i, 2).Value
' es wird zudem noch die zweite spalte hinzugefügt
End If
anfueg = True
i = i + 1
Loop
Set wkb1 = Nothing
Set wkb2 = Nothing
End Sub
Allerdings wird Laufzeitfehler 9 angezeigt: Index befindet sich außerhalb des gültigen Bereiches.
Er ist mit
Do While wkb2.Worksheets("Komponentenübersicht").Cells(j, 1) ""
nicht zufrieden
Hast du eine Idee wie man das beheben kann?

Anzeige
AW: 2 For Schleifen mit if
20.06.2013 21:55:29
dandan
Es ist leider sehr sehr dringend :(
Ich bin schon weitergekommen..
ich habe alles soweit definiert dass kein laufzeitfehlerkommt aber das gewünschte ergebnis tritt nicht ein :(
Sub Aktualisieren()
Dim i, j As Integer
Dim wkb1 As Workbook
Dim wkb2 As Workbook
Dim wert1, wert2 As String
Dim anfueg As Boolean
Set wkb1 = Workbooks("KonstruktionsDatenVerwaltung.xlsm") 'wäre dann Komponentensheet
'Hier den Pfad von der Datei mit den Komponenten eintragen
'bzw. Pfad von Stückliste
Set wkb2 = ThisWorkbook
anfueg = True
i = 2 'steht für Zeile 2 im Sheet Stücklisten
Do While wkb1.Worksheets("Stücklisten").Cells(i, 1)  ""
'Sheet Stückliste ab Zeile 2 Spalte 1 falls ungleich
j = 2
wert1 = wkb1.Worksheets("Stücklisten").Cells(i, 1).Value 'Definition von S-Nrn in den  _
Zellen als Wert 1
Do While wkb2.Worksheets("Komponentenübersicht").Cells(j, 1)  ""
wert2 = wkb2.Worksheets("Komponentenübersicht").Cells(j, 1).Value ' Def.  _
Komponente von KSheet
j = j + 1 'Zeile darunter
If wert1 = wert2 Then
'falls in Liste enthalten nicht anfügen bzw. wenn werte identisch
anfueg = False ' nicht anfuegen
End If
Loop
If anfueg = True Then ' Es wird definiert was bei 'anfuegen' getan wird
'j enthält die erste freie zeile
wkb2.Worksheets("Komponentenübersicht").Cells(j, 1).Value = wert1
' Wert bzw. Snr wird in die erste freie Zeile übernommen
wkb2.Worksheets("Komponentenübersicht").Cells(j, 2).Value = wkb1.Worksheets("Stü _
cklisten").Cells(i, 2).Value
' es wird zudem noch die zweite spalte hinzugefügt
End If
anfueg = True
i = i + 1
Loop
Set wkb1 = Nothing
Set wkb2 = Nothing
End Sub
das ist mein code. Ziel ist das die werte die zwar bei wkb stücklisten aber NICHT in wkb komponentensheet auftauchen dort hineinkopiert werden.
Ausgangspunkt bzw. aktives sheet ist die komponentenübersicht
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige