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

2 Dateien/Arbeitsmappen abgleichen

2 Dateien/Arbeitsmappen abgleichen
18.03.2004 11:28:45
sillk
Hallo!
Ich habe zwei Excelmappen:
a) hat die Grunddaten und
b) ist eine ausgearbeitete Version mit mehr Informationen.
Beide haben die Spalten "bestellnummer" und "preis".
Neuerungen finden nur in der Grunddatenmappe a) statt und beziehen sich nur auf den Preis.
Wie kann man per VBA die Preise in der Mappe b) aktualisieren, also auf den Stand der Mappe a) bringen?
Danke schon mal im vorraus !!!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 Dateien/Arbeitsmappen abgleichen
18.03.2004 15:23:54
Beni
Hallo sillk,
es müssen beide Dateien geöffnet sein, denn in eine geschlossene Datei kann man nicht schreiben.
Aendere in diesem Code die Namen entsprechend Deinen Dateien.
Gruss Beni

Sub Dateien_abgleichen()
Dim iZeile As Long
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Workbooks("Mappe1").Worksheets("Tabelle1")
Set WS2 = Workbooks("Mappe2").Worksheets("Tabelle1")
For iZeile = 1 To WS1.Cells(65536, 1).End(xlUp).Row
Wert = Cells(iZeile, 1)
With WS2.Columns(1)
Set c = .Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
If WS1.Cells(iZeile, 2) <> c(1, 2) Then
c(1, 2) = Cells(iZeile, 2)
End If
End If
End With
Next iZeile
End Sub

Anzeige
AW: 2 Dateien/Arbeitsmappen abgleichen
18.03.2004 16:03:42
sillk
Hallo Beni!
Vielen Dank für Deine Antwort!
Leider bin ich VBA-mäßig eine ziemliche Niete...deswegen erkenne ich nicht, wo ich die Spaltennamen/ -angaben ändere?
Ich muss erstens die Bestellnummern vergleichen, bei gleichen Bestellnummern den Preis. Wenn der Preis unterschiedlich ist, dann den Preis aus der Grundmappe übernehmen.
Wirklich sorry für meine Begriffsstutzigkeit... ^^;;
Nochmals vielen Dank für Deine Hilfe!
sillk
AW: 2 Dateien/Arbeitsmappen abgleichen
22.03.2004 07:14:12
FritzF
Hallo Sillk
Muss es denn zwingend mit VBA sein?
Wenn nein, dann Poste mir mal eine KLEINE Beispieldatei (Wenn Die Daten vertraulich sind, so kannst Du andere Bezeichnungen nehmen, denn mir geht es nur um die Struktur der Tabellen).
Gruss
Fritz
Anzeige
AW: 2 Dateien/Arbeitsmappen abgleichen
22.03.2004 10:05:57
sillk
Hallo FritzF!
Nein, es muss nicht unbedingt VBA seinm aber die Abgleichung sollte schon automatisch ablaufen ;)

Die Datei https://www.herber.de/bbs/user/4538.xls wurde aus Datenschutzgründen gelöscht

Die Datei https://www.herber.de/bbs/user/4539.xls wurde aus Datenschutzgründen gelöscht

Vielen lieben Dank für die Hilfe !!!
AW: 2 Dateien/Arbeitsmappen abgleichen
22.03.2004 21:02:55
Fritzf
Hallo Sillk
Ich bin davon ausgegangen, dass der Vergleich der beiden Tabellen einmalig ist, dann hätte ich es mit dem SVERWEIS gemacht. So wie die Sache aber aussieht muss der Update von Zeit zu Zeit erfolgen und da kommt man wahrscheinlich doch nicht an VBA vorbei.
Ich bin zwar kein VBA Crack, habe aber mal den Code von Beni eingefügt und auf die Spalten deiner Beispielsdateien angepasst. Damit das ganze aber bei Dir auch noch funktioniert, musst Du auf alle Fälle im VBA Code die Filenamen anpassen.

Die Datei https://www.herber.de/bbs/user/4563.xls wurde aus Datenschutzgründen gelöscht

Die Datei https://www.herber.de/bbs/user/4564.xls wurde aus Datenschutzgründen gelöscht

Wenn Du noch Fragen hast, so melde Dich doch wieder
Gruss
Fritz
Anzeige
AW: 2 Dateien/Arbeitsmappen abgleichen
23.03.2004 14:22:52
sillk
Hallo Fritz!
Danke! ;)
Ich habe aber immer noch Fragen zum Code, nur falls ich ihn irgendwann ändern muss, z.B. wenn ich irgendwann Spalten zwischendrin einfügen möchte ^^;;


Sub Dateien_abgleichen()
Dim iZeile As Long
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Workbooks("4563.xls").Worksheets("Preis")
Set WS2 = Workbooks("4564.xls").Worksheets("Produktliste")
//Alles klar bis dahin ;)
For iZeile = 1 To WS1.Cells(65536, 3).End(xlUp).Row
//Für was steht "65536"? Ist die "3" für die Spalte?
Wert = Cells(iZeile, 3)
//Die Zelle, bei dem die erste Bestellnummer  anfängt?
//"iZeile" für egal welche und "3" für die Spalte?
With WS2.Columns(3)
//"3" für die Spalte, in der die Bestellnummern sind?
Set c = .Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
//Muss ich hier was ändern?
If Not c Is Nothing Then
If WS1.Cells(iZeile, 3) <> c(1, 2) Then
//"3" für die Spalte der Bestellnummer?
//Für was steht "c(1,2)?" Was ist die "1" und was die "2"?
c(1, 5) = Cells(iZeile, 6)
//Für was steht "c(1,5)"?
//"6" für die Spalte, in der in der Grundliste die Preise stehen?
End If
End If
End With
Next iZeile
MsgBox "Preis Update in Tabelle Produktliste durchgeführt", , "Preise"
End Sub

Vielen herlichen Dank für Deine Mühen!
sillk
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige