Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Abgleichen von 2 Tabellen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Abgleichen von 2 Tabellen (4480 mal gelesen)
OliverK
Mitglied
Energieelektroniker


Sehen Sie sich das Profil von OliverK an!   Senden Sie eine Private Message an OliverK  Schreiben Sie einen Gästebucheintrag für OliverK

Beiträge: 65
Registriert: 03.08.2008

erstellt am: 04. Jan. 2010 15:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Test.xls.txt

 
Hallo zusammen,

ich habe da ein kleines Problem ich hoffe ihr könnt mir dabei Helfen da ich mich mit VB nicht aus kenne. Ich habe die tolle aufgabe bekommen in excel zu realisieren einen abgleich zwischen zwei tabellen. Es soll also aus der tabelle 2 die daten in tabelle 1 übertragen werden bzw auch überschrieben werden.

Tabelle1 ist folgt aufgebaut:
A1:Artikelnummer B1:Typbezeichnung C1:Beschreibung D1:Bestellnummer E1:VK

Tabele2 ist wie folgt aufgebaut:
A1:Bestellnummer B1:Beschreibung C1:Hersteller D1:Artikelnummer E1:VK

In TB1 soll die Sp A erhalten bleiben die darf weder überschrieben noch ersetzt werden der vergleich soll zwischen TB1 Sp.B und TB2 SP. C überprüft werden und die fehlende sachen oder nich identische sachen ersetzt werden

Also TB1 Sp. A soll nicht geändert werden
TB1 Sp.B soll mit TB2 SP.D überprüft werden
TB1 SP.C soll mit TB2 SP.B Überschrieben werden wo bei aber die kürzel in der TB1 de_DE@ sollten bestehen bleiben.
TB1 SP.D soll mit TB2 Sp.A Überschrieben werden
TB1 Sp.E soll mit TB2 SP.E überschrieben werden

Ich hoffe ich habe mich verständlich aus gedrückt was ich gerne hätte.beim Download die endung txt entfernen um die Datei zu öffnen

MfG

Oliver

[Diese Nachricht wurde von OliverK am 04. Jan. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 04. Jan. 2010 21:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OliverK 10 Unities + Antwort hilfreich

N'Abend,

etwas verständlicher wurde es durch die xls. Ich weiß nur nicht, ob Tab1 und Tab2 und auch die Spaltenangaben immer so stimmen, ich hab mich da mal nach Angaben gerichtet.

bislang schreit es noch nicht nach Makro, bislang geht's noch mit Formel.
Beachte die $ und die Sortierpflicht bei der Arbeit mit VERWEIS.
Ich würde also Hilfsspalten erzeugen und es so erledigen:

>> Also TB1 Sp. A soll nicht geändert werden

OK, also passiert alles in Tab1, nur Spalte A ist unantastbar, alle anderen dürfen verändert werden?


>> TB1 Sp.B soll mit TB2 SP.D überprüft werden

=VERWEIS(B3;Tab2!$D$2:$D$1718) , Formel runterkopieren
Tab2 muß nach D sortiert sein

>> TB1 SP.C soll mit TB2 SP.B Überschrieben werden wo bei aber die kürzel in der TB1 de_DE@ sollten bestehen bleiben.

Welche Kürzel? da ist nix kurzes. Den gesamten Wert erhälst Du, indem Du ihn vorher ausliest und der Formel voran stellst.
Formel, die nur das erste "de_DE@" erhält: =LINKS(C3;FINDEN("@";C3))&VERWEIS(B3;Tab2!$D$2:$D$1718;Tab2!$B$2:$B$1718)

>> TB1 SP.D soll mit TB2 Sp.A Überschrieben werden
>> TB1 Sp.E soll mit TB2 SP.E überschrieben werden

Sollte jetzt kein Problem mehr sein, Formel ist dieselbe, nur andere Bezüge.


Oder befürchte ich richtig, dass der Import öfter stattfindet und Du keine Lust auf Sortieren und/oder Hilfsspaltenlösung hast?
VBA-Lösungen zu Tabellenvergleichen solltest Du im Forum finden.
HIER mal ein Ansatz, schreibt das resultierende array erst einmal in Tab1, Spalte J-N, das Ergebnis solltest Du auf jeden Fall prüfen, das wird noch nicht dem entsprechen, was Du gerne hättest, aber ein Ansatz ist ja jetzt da und kann von Dir nach Herzenslust umgefummelt werden.
Forensuche und google kennen viele Tipps zum Einstieg ins VBA. Fang einfach mal an und dann schauen wir mal,
PS: Dein Projekt ist eher bei C als bei A angefangen mit dem Alphabet, aber I-Dötzchen heißen so, weil auch sie nicht bei A anfangen, wer weiß, vielleicht klappt's ja 

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

OliverK
Mitglied
Energieelektroniker


Sehen Sie sich das Profil von OliverK an!   Senden Sie eine Private Message an OliverK  Schreiben Sie einen Gästebucheintrag für OliverK

Beiträge: 65
Registriert: 03.08.2008

erstellt am: 05. Jan. 2010 09:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Test2.jpg


Test.xls.txt

 
Danke erst mal für die schnelle Hilfe,

vielleicht habe ich mich etwas missverständlich aus gedrückt, die tabellen werden so aus dem programm ausgeben die werden sich also nicht ändern.
ich habe mal anbei in screenshot gemacht und darin noch mal ein paar sachen eingezeichnet um es verständlicher zu machen.Beschreibung folg Excel tab. hängt auch als Datei dabei zum testen ob es funzt am ende.

Also im Bild Test2.jpg hätte ich gerne eine formel oder makro wo in tab1 die SpA Nr5 nicht verändert wird, desweiteren soll SpD von Tab2 mit der SpB von Tab1 Nr2 verglichen werden und wenn über einstimmungen sind sollen die werte von Tab2 Nr1 Nr3 und Nr4 in Tab1 eingetragen werden wenn es geht sollte aber in Tab1 SpC das de_DE@ bestehen bleiben. Ich hoffe das dies verständlicher ist als mein erster versuch.

Und wie schon geschrieben die Tabellen bleiben so die ändern sich nicht bei einer auswertung und schonmal mit besten Dank im Voraus.


Mfg

Oliver

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 05. Jan. 2010 10:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OliverK 10 Unities + Antwort hilfreich

Moin,
hast Du Dir Formeln und code mal näher angeguckt?
An welcher Stelle hakt es bei Dir bzgl. Umsetzung oder Verständnis?

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

OliverK
Mitglied
Energieelektroniker


Sehen Sie sich das Profil von OliverK an!   Senden Sie eine Private Message an OliverK  Schreiben Sie einen Gästebucheintrag für OliverK

Beiträge: 65
Registriert: 03.08.2008

erstellt am: 05. Jan. 2010 11:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

wohl eher dann am Verständniss wie ich diese formel einbinde da bei mir nur dann erscheint #NV und dies bei jeder auch bei denen die ich umschreibe scheine da irgendwie was falsch zu machen wäre nett wenn du diese formel in die vorhandene excel tab. einbinden könntest und dies wieder hier einstellen. Bedanke mich schonmal für eure mühen im Voraus.

Mfg

Oliver

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 05. Jan. 2010 21:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OliverK 10 Unities + Antwort hilfreich

N'Abend,

Die wichtigsten Punkte noch einmal zusammengefaßt:


  • Mach es in Hilfsspalten auf Tab1 (bsp. in Spalten G-K)
  • Sortier Tab2 nach Spalte D
  • in G3 mal zum Testen die Formel: =VERWEIS(B3;Tab2!$D$2:$D$1718;Tab2!$B$2:$B$1718) eintragen
  • runterkopieren und verstehen. Der Rest geht dann ganz von alleine...

Beachte, dass es nur 120 Übereinstimmungen gibt, überprüf also die Ergebnisse!

Das Makro mußt Du nur per copy&paste z.B. in ein Modul eintragen. Auch hier: überprüf die Ergebnisse.

Wenn Du weiterhin Probleme hast, lad ne Mappe hoch, in der Du die (geänderte) Formel drin hast und mach dort kenntlich, was Du wo anders erwarten würdest.

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

OliverK
Mitglied
Energieelektroniker


Sehen Sie sich das Profil von OliverK an!   Senden Sie eine Private Message an OliverK  Schreiben Sie einen Gästebucheintrag für OliverK

Beiträge: 65
Registriert: 03.08.2008

erstellt am: 06. Jan. 2010 09:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


MakroArtikelvergleich.txt


Bild2.jpg

 
Erst einmal danke für die schnelle Hilfe,

da besteht nur noch ein problem die Tabelle sieht so weit in Ordnung aus.Aber ein kleines Problem besteht darin das er aus der Bestellnummer 100.000 von Tab2 dies als 100000 in Tab1 einträgt da ich mich auf dem Gebiet der makro erstellung nicht wirklich auskenne bräuchte ich noch mal hilfe wo ich was ändern muss, damit er mir die Zahl so wie in Tab1 auch in Tab2 einträgt.

Dann noch eine frage ist es auch möglich mit dem Makro nach spalte 1 doch zu vergleichen aber ohne dem Hersteller kürzel davor z.B. SIE. siehe Bild 2.

Mfg

Oliver

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 06. Jan. 2010 13:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OliverK 10 Unities + Antwort hilfreich

Moin,

>> Aber ein kleines Problem besteht darin das er aus der Bestellnummer 100.000 von Tab2 dies als 100000 in Tab1 einträgt...

Das ist ne reine Formatierungsfrage. Formatier die Zellen von Hand als Zahl ohne Dezimalstellen und mit 1000-er Trennpunkt oder in VBA mit einem .NumberFormat = "#,##0"
z.B. kannst Du einen ganzen Bereich so formatieren:
Beispiel: Sheets("Tab1").Range("M1:M30").NumberFormat = "#,##0"

>> ist es auch möglich mit dem Makro nach spalte 1 doch zu vergleichen aber ohne dem Hersteller kürzel davor z.B. SIE. siehe Bild 2

Ja, der Vergleich findet in der Zeile

Code:
If ar1(a, 2) = ar2(b, 4) Then
statt.
ar1(a,2) = Tab1, Spalte B
ar2(b,4) = Tab2, Spalte D

Du möchtest jetzt Tab1, Spalte A [ > ar1(a,1) ]  jedoch ohne das "SIE." [ > Right(ar1(a, 1), (Len(ar1(a, 1)) - 4)) ] und ohne die Leerzeichen, die ich in Tab1, SpalteA teilweise am Ende der Strings finde [ > Trim(Right(ar1(a, 1), (Len(ar1(a, 1)) - 4))) ] mit Tab2, Spalte D vergleichen:

Code:
If Trim(Right(ar1(a, 1), (Len(ar1(a, 1)) - 4))) = Trim(ar2(b, 4)) Then

Ich erwähnte ja schon, dass Du nicht bei A anfängst  Versuch es trotzdem nachzuvollziehen: In der VBA-Hilfe sind alle verwendeten Funktionen erklärt.
Schau Dir auch mal die Mid-Function an, an das "ohne SIE." kann man auch anders gelangen... Und so Sachen wie Find gäbe es auch noch, ich sagte ja: es ist ein Ansatz, und warum bin ich hier eigentlich der Alleinunterhalter? Alle anderen Helferlein schon wieder raus aus dem Urlaub?   

Setz Dir im Code mal ein paar Haltepunkte oder geh ihn gleich mit der F8 zeilenweise durch und schau im Menü > Ansicht > Lokal-Fenster, was alles passiert.

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

OliverK
Mitglied
Energieelektroniker


Sehen Sie sich das Profil von OliverK an!   Senden Sie eine Private Message an OliverK  Schreiben Sie einen Gästebucheintrag für OliverK

Beiträge: 65
Registriert: 03.08.2008

erstellt am: 06. Jan. 2010 14:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die schnelle Hilfe es klappt jetzt so wie es soll nach dem ich da noch ein bisschen rum experimentiert habe da ich ja überhaupt keine Ahnung habe von basic. Bedanke ich mich für eure bzw für deine Hilfe. Da die anderen wohl noch alle im Urlaub sind  .

noch eine andere frage gibt es denn irgendwo eine seite wo die Befehle beschrieben werden da ich mich doch mal Langsam damit ausseinander setzen sollte .

Mfg

Oliver

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 06. Jan. 2010 16:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OliverK 10 Unities + Antwort hilfreich

N'Abend,

Schön, dass es jetzt wunschgemäß arbeitet. :-)

Die einzelnen Befehle werden in der Hilfe beschrieben.
Im internet könntest Du z.B. bei http://www.online-excel.de/  mal vorbei schauen. Die ersten Schritte machen die meisten mit dem Makrorekorder und erweitern dann die so produzierten Schnippsel.

Herr google kennt noch viele weitere VBA-Seiten, hier im Forum gibt es auch schon threads mit links.

Und ansonsten: einfach loslegen und gucken, wie weit man kommt 
Viel Spaß! 

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz