Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenvergleich

Datenvergleich
29.07.2007 19:23:00
Achim
ich hätte da mal ein Problem
Das sieht so aus:
Ich habe eine Excelmappe mit 3 Tabellen (also Standard) zuzüglich habe ich eine 2. Excelmappe welche auch 3 Tabellen enthält (Tabelle1 = Preisliste, Tabelle 2 = Bauwolltaschen, Tabelle 3 = Tabelle 1).
In Mappe 1, Tabelle 1 befinden sich Artikelnummern die mit Mappe 2, Tabelle Preisliste abgeglichen und Aktualisiert wernen müssen, und zwar in der Form
zb. Artikelnummer C501 (Mappe 1, Tabelle1) mit Artikelnummer C501 (Mappe2, Preisliste) wenn Artikelnummer Identisch Zellinhalt Dxx in gleicher Zeile (Mappe 2, Preisliste = aktueller Preis) nach Mappe 1, Tabelle 1 in entsprechende zelle Zelle fxx gleicher Zeile (enhält den alten Preis) kopieren, dabei den alten Preis überschreiben, nächte Übereinstimmung (z.B. G302) finden und den Vorgang entsprechend für diesen dann gefundenen Artikel wiederholen u.s.w. bis keine Übereinstimmung mehr gefunden wird.
Ich hoffe das man mir hier weiterhelfen kann, vielen Dank schon mal....

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenvergleich
30.07.2007 16:52:34
Roland
Hallo,
warum machst Du nicht eine zusätzliche Spalte, in die Du den etsprechenden SVERWEIS kopierst. Evtl. vorher noch die Formel WENN(Wert in Zusatzspalte=Originalwert;SVERWEIS(...);"") dann siehst Du sofort welche Werte gefunden wurden.
Die können dann per Kopieren die ursprünglichen Preise überschreiben (Inhalte einfügen und Option "Leerzellen überspringen" aktivieren)
Dann kann die Zusatzspalte gelöscht werden.
Viel Spaß
Roland

AW: Datenvergleich
30.07.2007 18:12:02
Achim
Hallo Roland..
Leider handelt es sich um sehr große Mappen, so dass es mit sverweis und nachfolgendes kopieren für einige tausend Zellen sehr mühsam wäre und warscheinlich auch zu fehleranfällig.
Die benötigte funktion müsste sogar noch um die Möglichkeit erweitert werden bei neu hinzugekommenen Artikeln eine Zeile einzufügen, oder habe ich da was falsch verstanden?
Das Ganze soll sozusagen auf knopfdruck automatisch ablaufen.
Gruß Achim

Anzeige
AW: Datenvergleich
01.08.2007 17:20:00
Achim
ich hätte da mal ein Problem
Das sieht so aus:
Ich habe eine Excelmappe mit 3 Tabellen (also Standard) zuzüglich habe ich eine 2. Excelmappe welche auch 3 Tabellen enthält (Tabelle1 = Preisliste, Tabelle 2 = Bauwolltaschen, Tabelle 3 = Tabelle 1).
In Mappe 1, Tabelle 1 befinden sich Artikelnummern die mit Mappe 2, Tabelle Preisliste abgeglichen und Aktualisiert wernen müssen, und zwar in der Form
zb. Artikelnummer C501 (Mappe 1, Tabelle1) mit Artikelnummer C501 (Mappe2, Preisliste) wenn Artikelnummer Identisch Zellinhalt Dxx in gleicher Zeile (Mappe 2, Preisliste = aktueller Preis) nach Mappe 1, Tabelle 1 in entsprechende zelle Zelle fxx gleicher Zeile (enhält den alten Preis) kopieren, dabei den alten Preis überschreiben, nächte Übereinstimmung (z.B. G302) finden und den Vorgang entsprechend für diesen dann gefundenen Artikel wiederholen u.s.w. bis keine Übereinstimmung mehr gefunden wird. Falls neue Artikel in Mappe 2 vorhanden, in Mappe 1 Zeile mit Artikelnummer einfügen.
Ich hoffe das man mir hier weiterhelfen kann, vielen Dank schon mal....

Anzeige
AW: Datenvergleich
01.08.2007 22:11:00
Gerd
Hallo Achim,
zu deiner ersten Frage. Prämissen: Die Artikelnummern stehen jeweils in Spalte A u. die Einträge beginnen in Zeile 2, keine Leerzeilen zwischen den Einträgen der einzelnen Artikelnummern.

Sub test()
Dim wbA As Workbook, wbB As Workbook
Dim wsA As Worksheet, wsB As Worksheet
Dim varArtA As Variant, varArtB As Variant
Dim varPreisA As Variant, varPreisB As Variant
Dim varPreisNeu As Variant
Dim lngRowLastA As Long, lngRowLastB As Long, i As Long, j As Long
Set wbA = Workbooks("MappeA.xls") 'Mappe mit zu ändernden Preisen, anpassen
Set wbB = Workbooks("MappeB.xls") 'Mappe mit neuer Preisliste, anpassen
Set wsA = wbA.Worksheets("Tabelle1") 'Tabelle mit zu ändernden Preisen, anpassen
Set wsB = wbB.Worksheets("Tabelle1") 'Tabelle mit Liste neuer Preise, anpassen
lngRowLastA = wsA.Cells(Rows.Count, 1).End(xlUp).Row
lngRowLastB = wsB.Cells(Rows.Count, 1).End(xlUp).Row
varArtA = wsA.Range(wsA.Cells(2, 1), wsA.Cells(lngRowLastA, 1)).Value
varArtB = wsB.Range(wsB.Cells(2, 1), wsB.Cells(lngRowLastB, 1)).Value
varPreisA = wsA.Range(wsA.Cells(2, 2), wsA.Cells(lngRowLastA, 2)).Value
varPreisB = wsB.Range(wsB.Cells(2, 4), wsB.Cells(lngRowLastB, 4)).Value
ReDim varPreisNeu(1 To lngRowLastA - 1)
For i = 1 To UBound(varArtA)
For j = 1 To UBound(varArtB)
If varArtA(i, 1) = varArtB(j, 1) Then varPreisNeu(i) = varPreisB(j, 1): Exit For
Next
If varPreisNeu(i) = Empty Then varPreisNeu(i) = varPreisA(i, 1)
Next
wsA.Range(wsA.Cells(2, 6), wsA.Cells(UBound(varPreisNeu) + 1, 6)).Value = _
WorksheetFunction.Transpose(varPreisNeu)
End Sub


Zum Übetrag neuer Artiikel aus der Preisliste fehlt die Angabe, welche Bereiche übertragen werden sollen.
Gruß Gerd

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige