Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1316to1320
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

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

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

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)

Anzeige
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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige