Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
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

Spalten 2er Tab vergleichen + Werte einfügen

Spalten 2er Tab vergleichen + Werte einfügen
Thomas
Hallo,
so nun muß ich doch fragen - dachte zwar ich bekomme es selbst hin und habe herumprobiert aber da bin ich wohl zu blond zu.
Ich habe zwei Tabellen
In Tabelle 1 stehen in Spalte Z die Artikelnummern und in Spalte AI die BildURL
In Tabelle 2 stehen in Spalte A die Artikelnummern und in Spalte V die BildURL
Ich möchte die BildURL der Tabelle 2 in die Tabelle 1 einfügen wenn die Artikelnummern der beiden Tabellen übereinstimmen.
Es wäre nett wenn Ihr mir auf die Sprünge helfen würdet.
Gruß
Thomas
https://www.herber.de/bbs/user/70180.xls

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spalten 2er Tab vergleichen + Werte einfügen
21.06.2010 11:17:02
Yusuf
Moin,
Sub vergleich()
Dim i As Long
Dim j As Long
For i = 2 To Sheets("Tabelle1").Range("Z65536").End(xlUp).Row
For j = 2 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
If Sheets("Tabelle1").Cells(i, 26) = Sheets("Tabelle2").Cells(j, 1) Then
Sheets("Tabelle1").Cells(i, 35) = Sheets("Tabelle2").Cells(i, 22)
End If
Next
Next
End Sub
Gruß
Yusuf
Korrektur!
21.06.2010 11:29:33
Yusuf
Moin,
eine Laufvariable war falsch.
Sub vergleich()
Dim i As Long
Dim j As Long
For i = 2 To Sheets("Tabelle1").Range("Z65536").End(xlUp).Row
For j = 2 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
If Sheets("Tabelle1").Cells(i, 26) = Sheets("Tabelle2").Cells(j, 1) Then
Sheets("Tabelle1").Cells(i, 35) = Sheets("Tabelle2").Cells(j, 22)
End If
Next
Next
End Sub
Gruß
Yusuf
Anzeige
AW: Korrektur!
21.06.2010 13:17:23
Thomas
Hallo Yusuf,
merci für die schnelle Hilfe.
Die Rückmeldung hat etwas gedauert da ich natürlich bei der Fragestellung schon Fehler gemacht habe - sind keine zwei Tabellen sondern zwei Dateien die ich als csv gespeichert habe in denen die Daten sind.
Habe die Daten für den Versuch einfach mal in die eine Datei in die Tabelle2 kopiert und laß gerade Dein Script laufen.
Kann es sein das es aufgrund der vielen Daten ca. 54.000 Zeilen das sehr lange dauert - läuft schon ca. 30 Min.
Gruß
Thomas
54.000 x 54.000 = 2,9 Milliarden !
21.06.2010 13:32:21
NoNet
Hallo Thomas,
das hatte ich befürchtet :
Yusufs code prüft für jede Zeile in "Tabelle 1" ALLE Werte in "Tabelle2".
D.h. wenn beide Tabellenblätter 54.000 Zeilen enthalten wären das 54.000 x 54.000 = 2.916.000.000 =2.9 Mrd. Vergleiche - das dauert natürlich etwas ;-)
Daher hatt ich Dir meinen Codevorschlag gepostet, der um einiges schneller arbeiten dürfte ;-))
Gruß, NoNet
Anzeige
AW: 54.000 x 54.000 = 2,9 Milliarden !
21.06.2010 13:44:02
Thomas
Hallo NoNet,
das habe ich mir schon gedacht - auch wenns nicht ganz so schlimm ist :)
In der Tabelle 2 sind es 'nur' 11000 Zeilen
Deinen Code habe ich auch schon versucht - bekomme aber die Fehlermeldung die ich Dir schon geschrieben habe.
Wird langsam Zeit das ich auf Access umsteige - bzw. mein Bruder der sich auskennt will micr das schon seit nem halbem Jahr machen :)
Na ja Verwandtschaft halt
Gruß
Thomas
Fehler kann ich nicht nachvollziehen !
21.06.2010 14:06:15
NoNet
Hallo Thomas,
den "Fehler" in meinem Code kann ich nicht nachvollziehen - bei mir funktioniert der Code einwandfrei (auch wenn es bei 54.000 x 11.000 auch einige Zeit dauert !).
Hast Du den Code bzgl. der unterschiedlichen Dateien anstatt Tabellen angepasst ?
Wenn ja, poste bitte mal den angepassten Code !
Gruß, NoNet
Anzeige
AW: Fehler kann ich nicht nachvollziehen !
21.06.2010 14:40:25
Thomas
Hallo NoNet,
jop habs hinbekommen - Dein Code läuft - keine Ahnung was ich da vorher wieder getrieben habe.
Herzlichen Dank für die Hilfe.
Gruß
Thomas
Art.Nr. suchen, BildURL einfügen
21.06.2010 11:30:40
NoNet
Hallo Thomas,
hier eine schnellere Variante zum Suchen von Artikelnr. in "Tabelle2" und einfügen der zugehörigen Bild-URL in "Tabelle 1" :
Sub BildURLkopieren()
Dim lngZ1 As Long, lngZ2 As Long
Dim ws1 As Worksheet, ws2 As Worksheet
'Namen der Tabellenblätter nur hier anpassen :
Set ws1 = Worksheets("Tabelle 1")
Set ws2 = Worksheets("Tabelle2")
With ws1
For lngZ1 = 2 To .Cells(Rows.Count, 26).End(xlUp).Row
If Application.CountIf(ws2.[A:A], .Cells(lngZ1, 26)) > 0 Then
lngZ2 = ws2.[A:A].Find(.Cells(lngZ1, 26)).Row
.Cells(lngZ1, 35) = ws2.Cells(lngZ2, 22)
End If
Next
End With
Set ws2 = Nothing
Set ws1 = Nothing
End Sub
Gruß, NoNet
Anzeige
AW: Art.Nr. suchen, BildURL einfügen
21.06.2010 13:21:33
Thomas
Hallo NoNet,
merci für die schnelle Hilfe.
Die Rückmeldung hat etwas gedauert da ich natürlich bei der Fragestellung schon Fehler gemacht habe - sind keine zwei Tabellen sondern zwei Dateien die ich als csv gespeichert habe in denen die Daten sind.
Habe Dein Script probiert - kam eine Fehlermeldung in der Zeile
lngZ2 = ws2.[A:A].Find(.Cells(lngZ1, 26)).Row
Laufzeitfehler 9
Objektvariable oder With-Blockvariable nicht festgelegt
Kannste mir evtl. weiterhelfen
Gruß
THomas

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige