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

Tabellen abgleichen....

Tabellen abgleichen....
24.10.2004 22:39:18
Erdal
Hallo erstmal,
habe folgendes Problem .
ich bekomme jeden Tag von unserem Händler eine Datei mit den aktuellen Artikeln und preisen zugesendet.
Nun müsste ich die Datei von uns nennen wir sie Artikelalt mit der Artikelneu abgleichen, dass heißt es geht hier nur darum das er mir die Artikel welche in der Artikelneu nicht mehr drin stehen aus der Artikelalt rausschmeisst kriterium dafür soll die Artikel nummer sein.
zb. ArtNr.123345 ist bei neu nicht drin also soll sie bei Artikelalt raus.
Denn unser Händler haut in der Woche so zwischen 100-150 Artikel raus bei über 7000 Artikel kann ich des net manuell machen.
Gibt es dafür irgendein makro oder so
danke mal im voraus
gruss erdal

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen abgleichen....
24.10.2004 23:01:02
Josef
Hallo Erdal!
Kopiere diesen Code in deine Date.

Sub vergleichen_und_entfernen()
'Beide Dateien müssen geöffnet sein!
'Die Artikelnummern stehen jeweils in Spalte "A" ab Zeile 2
Dim wksAlt As Worksheet
Dim wksNeu As Worksheet
Dim lngE As Long
Dim lngR As Long
Dim sFind As Range
Set wksNeu = Workbooks("DateiVomHändler.xls").Sheets("Tabellenname")
Set wksAlt = Workbooks("DeineDatei.xls").Sheets("Tabellenname")
'Dateinamen und Tabellennamen anpassen
lngE = wksAlt.Range("A65536").End(xlUp).Row
For lngR = lngE To 2 Step -1
Set sFind = wksNeu.Range("A2:A65536").Find(what:=wksAlt.Cells(lngR, 1), _
LookIn:=xlValues, lookat:=xlWhole)
If sFind Is Nothing Then wksAlt.Cells(lngR, 1).EntireRow.Delete
Set sFind = Nothing
Next
End Sub

Gruß Sepp
Anzeige
AW: Tabellen abgleichen....
25.10.2004 17:29:59
Erdal
HI sepp erstmal danke also irgendwie denk ich schon das es funktioniert nur hätte ich da noch eine kleine Bitte was müsste ich einfügen oder verändern damit er mir die gelöschten Artikel in ne neue tabelle reinhaut würde auch nur die Artikelnummer reichen.
Ich denk mal das ich hier was ändern muss oder? If sFind Is Nothing Then wksAlt.Cells(lngR, 1).EntireRow.delete
Set sFind = Nothing
Danke mal im voraus
AW: Tabellen abgleichen....
Josef
Hallo Erdal!
Erstelle in deiner Datei ein Tabellenblatt mit dem Namen "Gelöscht"

Sub vergleichen_und_entfernen()
'Beide Dateien müssen geöffnet sein!
'Die Artikelnummern stehen jeweils in Spalte "A" ab Zeile 2
Dim wksAlt As Worksheet
Dim wksNeu As Worksheet
Dim wksDel as Worksheet
Dim lngE As Long
Dim lngR As Long
Dim lngC as Long
Dim sFind As Range
Set wksNeu = Workbooks("DateiVomHändler.xls").Sheets("Tabellenname")
Set wksAlt = Workbooks("DeineDatei.xls").Sheets("Tabellenname")
Set wksDel = Workbooks("DeineDatei.xls").Sheets("Gelöscht")
'Dateinamen und Tabellennamen anpassen
lngE = wksAlt.Range("A65536").End(xlUp).Row
lngC = wksDel.Range("A65536").End(xlUp).Row + 1
For lngR = lngE To 2 Step -1
Set sFind = wksNeu.Range("A2:A65536").Find(what:=wksAlt.Cells(lngR, 1), _
LookIn:=xlValues, lookat:=xlWhole)
If sFind Is Nothing Then
wksAlt.Cells(lngR, 1).EntireRow.Copy Destination:= wksDel.Cells(lngC, 1)
lngC = lngC + 1
wksAlt.Cells(lngR, 1).EntireRow.Delete
End If
Set sFind = Nothing
Next
End Sub

Danach befinden sich die gelöschten Artikelnummern in der Tabelle "Gelöscht"!
Gruß Sepp
Anzeige
AW: Tabellen abgleichen....
25.10.2004 20:01:36
Erdal
super danke dir sepp funktioniert einwandfrei echt cool danke dir.
schönen abend noch :-)
gruss erdal
AW: Tabellen abgleichen....
07.11.2004 20:59:45
Erdal
servus sepp hab da noch ne kleine frage.
Mir ist aufgefallen das ich es doch lieber hätte das er mir die nicht löscht sondern eben die wo es nicht gibt in spalte 10 (product_quantity) den wert 9999 reinschreibt.
den dann kann ich die datei auf den server laden und mit nem phpscript und sql direkt dort löschen es bringt mir nichts wenn die daten offline gelöscht werden.
sorry nochmal ist mir später erst aufgefallen das es so kompizierter wird.
danke mal im voraus
Anzeige
AW: Tabellen abgleichen....
07.11.2004 21:15:49
Josef
Hallo Erdal!
Dann halt so!

Sub vergleichen_und_markieren()
'Beide Dateien müssen geöffnet sein!
'Die Artikelnummern stehen jeweils in Spalte "A" ab Zeile 2
Dim wksAlt As Worksheet
Dim wksNeu As Worksheet
Dim lngE As Long
Dim lngR As Long
Dim sFind As Range
Set wksNeu = Workbooks("DateiVomHändler.xls").Sheets("Tabellenname")
Set wksAlt = Workbooks("DeineDatei.xls").Sheets("Tabellenname")
'Dateinamen und Tabellennamen anpassen
lngE = wksAlt.Range("A65536").End(xlUp).Row
For lngR = 2 To lngE
Set sFind = wksNeu.Range("A2:A65536").Find(what:=wksAlt.Cells(lngR, 1), _
LookIn:=xlValues, lookat:=xlWhole)
If sFind Is Nothing Then
wksAlt.Cells(lngR, 10) = 9999
End If
Set sFind = Nothing
Next
End Sub

Gruß Sepp
Anzeige
AW: Tabellen abgleichen....
07.11.2004 22:53:27
Erdal
bist echt der beste seeeeeeeppppppppppp danke dir......
schönen abend!!
AW: Tabellen abgleichen....
10.11.2004 12:18:09
Erdal
Hi sepp ich bins nochmal also das script geht irgendwie nicht.
Folgendes die product-quantitiy in tabelle3(neuedaten) die auf 9999 gesetzt werden sind falsche Artikel dies sind artikel die vorhanden sind.
in der Tabelle gelöscht sind die artikel richtig verwunderlicherweise.
die anzahl ist ungefähr gleich in beiden tabellen also die 9999 und die gelöschten....
diesen code benutzte ich

Sub daten_abgleichen()
'Beide Dateien müssen geöffnet sein!
'Die Artikelnummern stehen jeweils in Spalte "A" ab Zeile 2
Dim wksAlt As Worksheet
Dim wksNeu As Worksheet
Dim wksDel As Worksheet
Dim lngE As Long
Dim lngR As Long
Dim lngC As Long
Dim sFind As Range
Set wksNeu = Workbooks("PERSONL.xls").Sheets("Tabelle3")
Set wksAlt = Workbooks("PERSONL.xls").Sheets("Tabelle4")
Set wksDel = Workbooks("PERSONL.xls").Sheets("Gelöscht")
'Dateinamen und Tabellennamen anpassen
lngE = wksAlt.Range("A65536").End(xlUp).Row
lngC = wksDel.Range("A65536").End(xlUp).Row + 1
For lngR = 2 To lngE
Set sFind = wksNeu.Range("A2:A65536").Find(what:=wksAlt.Cells(lngR, 1), _
LookIn:=xlValues, lookat:=xlWhole)
If sFind Is Nothing Then
wksAlt.Cells(lngR, 1).EntireRow.Copy Destination:=wksDel.Cells(lngC, 1)
lngC = lngC + 1
wksNeu.Cells(lngR, 27) = 9999
End If
Set sFind = Nothing
Next
End Sub

hier ist der link zu den dateien nach ausführung des codes...
hoffe du weißt da was
gruss erdal
Anzeige
AW: Tabellen abgleichen....
11.11.2004 11:57:42
Erdal
Hey sepp bisch noch da
:-(
vielleicht kann mir ja jemand anderes helfen .......
AW: Tabellen abgleichen....
12.11.2004 15:55:55
Erdal
hmm keiner da ausser sepp kann mir niemand weiter helfen
AW: Tabellen abgleichen....
10.11.2004 12:08:46
Erdal
Hi sepp ich nochmal also der script geht irgendwie nicht die daten die er umschreibt in 9999 sind erstens falsch weil es die artikel noch gibt und 2. sind die daten die in der tabelle gelöscht stehen ganz andere was man aber zu der tabelle gelöscht dazu sagen muss ist das die art. nummern richtig sind also die gibt es echt nicht mehr...
hier ist mal der link zu den 3.tabellen http://www.sit-int.com/erdal_sepp.xls
die Menge von den zeilen also die mit 9999 in tabelle 3 und die menge zeilen in der tabelle gelöscht sind ungefähr gleich ich versteh nicht was da vorsich geht wäre echt nett wenn du mal kurz schaust also die tabellen sende ich mit
also kurzfassung--- Tabelle3(neuedatei) products_quantity=9999 sind falsche Artikel
------------------- Tabelle Gelöscht (gelöschte) die artikel sind richtig aber nicht die selben die in tabelle3 umbeschrieben worden.
hoffe ich hab mich richtig ausgedrückt
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige