online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Julian vom 29.01.2019, 14:03 Options

2 Excel Tabellen abgleichen

Hallo zusammen,

habe eine relativ schwierige aufgabe vor mir. Ich möchte gerne 2 Excel Tabellen mit einander abgleichen.
Die erste Tabelle ist die Kundenliste von 2006 und die andere ist die Kundenliste von 2007.

Von der Kundenliste 2006 muss jetzt die Spalte G, namens RV mit den Attributen xy, in die Kundenliste 2007 zu der jeweils gleichen Kundennummer gespeichert werden. Die Kundennummer ist in 2006 die Spalte B, namens KdNr, und in 2007 die Spalte F, namens S_KUNR.

Ich hoffe jemand kann die Problematik erkennen und mir einen Lösungsvorschlag machen.

Zur Info noch ... ich kenne mich leider nicht wirklich mit VBA aus und würde mich somit dann auch über eine kleine einweisung freuen, wie man ein Makro einbindet.

MfG
Julian


Antwort schreiben

Antwort 1 von Hajo_Zi vom 29.01.2019, 19:14 Options

Hallo Julian,

vielleicht hilft Dir dieses Beispiel?
Link zur Datei

Gruß Hajo

Antwort 2 von Julian vom 30.01.2019, 08:38 Options

Guten Morgen,

dieses Beispiel hab ich hier im Forum schon gefunden, nur leider habe ich 2 alleinstehende Tabellen und nicht nur eine Tabelle mit mehreren Tabellenblättern.

Weiss da zufällig jemand noch weiter?

Gruß Julian

Antwort 3 von Hajo_Zi vom 30.01.2019, 09:34 Options

Hallo Julia,

"nicht nur eine Tabelle mit mehreren Tabellenblättern"

das ist eine Datei (datei ist was anderes als Tabelle) mit mehreren Tabelle.


Im Code muß vor den Tabellen nur der Dateiname ergänzt werden. Die Dateie müssen auf sein.

Gruß Hajo

Antwort 4 von Julian vom 30.01.2019, 12:12 Options

Hallo Hajo,

ich hab es zwar mal ausprobiert so wie du es kurz beschrieben hattest, aber hab es einfach nicht hinbekommen. Hab wie gesagt überhaupt keine ahnung wo ich was genau ändern soll und wie ich das dann überhaupt abfragen kann.

Gruß Julian

Antwort 5 von Hajo_Zi vom 30.01.2019, 12:31 Options

Hallo Julian,

über Tag habe ich wenig Zeit, ich kann mich damit erst am Abend beschäftigen. Schreibe es nochmal ganz genau auf.
Für welches Makro hast Du Dich entschieden?
Welche Namen hat die Originaldatei?
Welche Tabelle in dieser Datei?
Welche Spalte in der Originaltabelle?
Welche Namen hat die Kopiei?
Welche Tabelle in dieser Datei?
Welche Spalte in der Kopie?

Gruß Hajo

Antwort 6 von Julian vom 30.01.2019, 14:46 Options

Hallo Hajo,

ich habe mich für kein Makro entschieden, aber als probe mal mit der oben von dir vorgeschlagenen Datei rumprobiert.

Die erste Datei hat den Namen: Kundenliste 2007
mit der Tabelle: Daten
und die Spalte D mit dem Namen: Konzern

Die zweite Datei hat den Namen: Masterliste Upgrades 15.1106
mit der Tabelle: Kundenliste 03.02.2006
und die Spalte A mit dem Namen: Konzern

Ich hoffe du kannst was damit anfangen.

Gruß Julian

Antwort 7 von Hajo_Zi vom 30.01.2019, 15:01 Options

Hallo Julian,

ich gehe mal davon aus der Dateuiname endet auf ".XLS"
Soweit ich mich erinnere waren in der Datei Beispiele. Welches würde den so ungefähr Deiner Aufgabe entsprechen, da es auch unterschiedliche Varianten waren.

Gruß Hajo

Antwort 8 von Julian vom 30.01.2019, 15:40 Options

Hallo Hajo,

ja die Dateien sind .xls ... bei den Beispielen aus der Datei würde Makro: Vergleich 1am ehesten passen, wobei nicht die Füllfarbe gesetzt werden soll, sondern aus der Datei "Masterliste Upgrades 15.1106" und der Tabelle "Kundenliste 03.02.2006" die Spalte G (Namens RV) in die Datei "Kundenliste 2007" in die Tabelle "Daten" in eine neue Spalte geschrieben werden sollte. Die Spalten "BV" oder "BW" wären hierzu frei.

Ich hoffe du blickst noch durch was gemacht werden sollte. ;)

Gruß

Antwort 9 von Hajo_Zi vom 30.01.2019, 16:05 Options

Hallo Julian,

jetzt ist es eindeutig. Das dauert am Abend aber auch noch ein Weile, da ich mir schon einiges vorgenommen habe. Ich vermute bis 21:00 ist es erledigt. Ich kann es ja nur theoretisch machen (also nur Code) Testung ist ja nicht, da keine Dateien.

Gruß Hajo

Antwort 10 von Julian vom 30.01.2019, 16:11 Options

Mach dir keinen stress, das kann auch bis morgen warten.

Finds sowieso so super, dass du mir so stark zur seite stehst dabei.

Gruß Julian

(P.S.:Geh jetzt nach Hause. ;) )

Antwort 11 von Hajo_Zi vom 30.01.2019, 19:34 Options

Hallo Julian,

ich habe mich jetzt mal an Deine Beschreibung gehalten auch mit den Dateinamen und Tabellennamen. Ich bin das nur theoretisch durchgegangen. Ich hoffe mal ich habe alles richtig gemacht ansonsten brächte ich mal 2 kurze Dateienmit markierung was übertragen werden soll. Meine Mailadressse findest Du auf meiner HP, schaue dazu ins Profil. Ich vermute mal die Lösung kommt aber erst morgen Abend.

Option Explicit

Sub Tabellen_Vergleichen1()
'**************************************************
'* H. Ziplies *
'* 30.01.07 *
'**************************************************
Dim WbO As Worksheet ' Original Datei
Dim WbK As Worksheet ' Kopie Datei
Dim LoI As Long ' 1. Schleifenvariable
Dim LoJ As Long ' 2. Schleifenvariable
Dim LoLetzte1 As Long ' letzte Zeile in Spalte A
Dim LoLetzte2 As Long ' letzte Zeile in Spalte B
Set WbO = Workbooks("Kundenliste2007.xls").Worksheets("Daten")
Set WbK = Workbooks("Masterliste Upgrades 151106.xls").Worksheets("Kundenliste 03.02.2006")
With WbO
' unabhängig von Excelversion für Spalte D (4), ich bin davon ausgegangen das keine Zeilen ausgeblendet sind
LoLetzte1 = IIf(IsEmpty(.Cells(Rows.Count, 4)), .Cells(Rows.Count, 4).End(xlUp).Row, Rows.Count)
End With
With WbK
' unabhängig von Excelversion für Spalte D (4), ich bin davon ausgegangen das keine Zeilen ausgeblendet sind
LoLetzte2 = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
End With
For LoI = 1 To LoLetzte1 ' 1. Schleife alle Werte Spalte D Original
For LoJ = 1 To LoLetzte2 ' 2. Schleife alle Werte Spalte A Kopie
If WbO.Cells(LoI, 1) <> "" Then ' Leerzellen nicht kennzeichnen
If WbO.Cells(LoI, 1) = WbK.Cells(LoJ, 2) Then
WbO.Cells(LoI, 74) = WbK.Cells(LoJ, 7)
End If
End If
Next LoJ
Next LoI
End Sub

Gruß Hajo

Antwort 12 von Hajo_Zi vom 30.01.2019, 19:37 Options

Hallo Julian,

ich hatte noch 2 Zeilen vergessen

Set WbO = Nothing
Set WbK = Nothing
End Sub

Gruß Hajo

Antwort 13 von Julian vom 31.01.2019, 11:07 Options

Hallo Hajo,

Danke schonmal für die arbeit.
Allerdings bringt er mir beim anwenden des Makros eine Fehlermeldung bei folgender Zeile:

Set WbO = Workbooks("Kundenliste2007.xls").Worksheets("Daten")

Fehler: "Index außerhalb des Gültigen Bereichs"

Was ist da gemeint?

Gruß Julian

Antwort 14 von Hajo_Zi vom 31.01.2019, 11:19 Options

Hallo Julian,

die beiden Dateien sind auf?
Der Dateiname und Tabellenname stimmt Buchstabe für Buchstabe?

Gruß Hajo

Antwort 15 von Julian vom 31.01.2019, 11:32 Options

Ja beide waren auf .. nur beim Dateinamen war ein Leerzeichen zu wenig. ;) Das hab ich aber jetzt schon geändert.

Jetzt gibt er mir aber den selben Fehler bei der nächsten Zeile aus:

Set WbK = Workbooks("Masterliste Upgrades 151106.xls").Worksheets("Kundenliste 03.02.2006")

und da stimmen alle Dateinamen.

Gruß

Antwort 16 von Hajo_Zi vom 31.01.2019, 11:57 Options

Hallo Julian,

ich traue Dir schon zu das Du vergleichen kannst. Aber irgendwas muß noch falsch sein.

Ich hatte zu Hause Extra die 2 Dateien angelegt ohne Inhalt und es lief über diese Zeilen.

Also nochmal genau Prüfen.

Gruß Hajo

Antwort 17 von Julian vom 06.02.2019, 13:41 Options

Hallo Hajo,

wollte dir nur für deine Mühen Danken, aber habs jetzt ohne Makro geschafft.

Ich habs nun über die Funktion SVERWEIS gemacht und hat super funktioniert.

Gruß Julian

Ähnliche Themen

komplexe Excel Tabellen
Thoms  09.06.2007 - 194 Hits - 1 Antwort

Excel-Tabellen verknüpfen
RickyR  09.06.2007 - 170 Hits - 2 Antworten

2 EXCEL-Tabellen abgleichen. Fehlende Werte löschen???
Martin0977  11.10.2007 - 123 Hits - 1 Antwort

Excel Abfrage mit Verknüpfung von Daten aus 2 Mappen
willymo  29.10.2007 - 336 Hits - 6 Antworten

Excel: als Webseite speichern
Frage_Excel_HTML  07.01.2008 - 55 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026