Microsoft Excel

Herbers Excel/VBA-Archiv

Zwei Spalten in jeweils zwei Tabellen miteinander

Betrifft: Zwei Spalten in jeweils zwei Tabellen miteinander von: Lutz
Geschrieben am: 08.08.2008 15:56:55

Liebe Leute,

ich habe zwei recht umfangreiche Tabellen mit Lieferdaten und dies in zwei von einander unabhängigen Tabellen.

In der Tabelle1 stehen neben anderen die Spalten Bestellnr. und Materialnr. sowie Lieferantennr. In der Tabelle2 stehen wiederum die Spalten Bestellnr. und Materialnr., nicht aber die Lieferantennr.

Diese möchte ich am liebsten per Makro dann in die zweite Tabelle einfügen, wenn sowohl Bestell- als auch Materialnr. einer Zeile in Tabelle1 mit einer Bestell- und Materialnr. einer Zeile in Tabelle32 übereinstimmen. (Wichtig ist, das jeweils die Bestell- und die Materialnr übereinstimmen müssen.

Hat jemand eine Idee

Beste Grüße

Lutz.

  

Betrifft: AW: Zwei Spalten in jeweils zwei Tabellen miteinander von: Tom
Geschrieben am: 08.08.2008 16:13:30

Ich hatte das gleiche Problem hab das jetzt gelöst, allerdings nur mit einer Spalte. Ich glaub dein Prblem gestalltet sich wesentlich schwieriger, ausser mann kan beide Nr. in eine Variable schreiben, dann sollte es kein Problem geben.

str1 = Wert Mnr.
str2 = Wert Bnr.

str3 = str1+str2 vll. funtioniert das. Ich such mal bissi im Netzt vll. find ich was mit dem man strings zusammenfügen kann.

mfg Tom


  

Betrifft: AW: Zwei Spalten in jeweils zwei Tabellen miteinander von: Lutz
Geschrieben am: 08.08.2008 16:17:54

Von meiner Seite spricht nichts dagegen, die beiden Zellinhalte in eine Variable zu schreiben, Tom. Und sie dann auch mit einer Variablen zu vergleichen, in der die Zellinhalte der anderen Tabelle enthalten sind.

Beste Grüße

Lutz.


  

Betrifft: AW: Zwei Spalten in jeweils zwei Tabellen miteinander von: Tom
Geschrieben am: 08.08.2008 16:31:20

Also hab was gefunden ist aber denk ich nicht die eleganteste Lösung.

For i = 4 To (MaxRow + 1) '4 steht für die Zeile in der die Werte beginnen
'Tabellenblatt aktivieren set WS1 = = Workbooks("DateiName").Worksheets(1)
    WS1.Activate
str1 = Cells(i, "A").Value 'Nur als Bsp.
str2 = Cells(i,"B").Value 's.o.
str3 = str1+str2
    End If


Das gleiche machst du mit dem anderen beiden Zahlen und vergleichst die einfach in 2 Verschachtelten Schleifen:

for i=4 to MaxRow
s.o.
for j = 4 to MaxRow2
WS2.Activate 'Variabel anpassen
str4 = Cells(i, "A").Value 'Nur als Bsp.
str5 = Cells(i,"B").Value 's.o.
str6 = str4+str5
if str6=str3 then
WS1.Range(WS1.Cells(i, "A"), WS1.Cells(i, "A"))Copy _ ' zu kopierender Bereich
                WS2.Cells(j, "A") 'hierher wird Kopiert



Hoff das hilft so in etwa hab ich das gemacht.


 

Beiträge aus den Excel-Beispielen zum Thema "Zwei Spalten in jeweils zwei Tabellen miteinander "