3k Aufrufe
Gefragt in Tabellenkalkulation von benjaminm Mitglied (631 Punkte)
Hallo @ all,

hab da mal ein Problem...

Ich möchte in einer Tabelle (auf 2 Blättern) 2 Spalten vergleichen, und wenn sich eine Übereistimmung ergibt, soll die komplette Zeile in die erste Tabelle kopiert werden.

Der Vergleich soll jeweils Spalte H betreffen.

Hier mal eine Datei mit einem Datenausschnitt.

Ist da was möglich?
VBA oder evtl. nur mit einer Formel?

Gruß Benjamin

9 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Halo Benjamin,

vielleicht ist dies eine Löaung. Tabellen vergleichen Link zur Datei

Gruß Hajo
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo

rapidshare.com/files/271668914/MappeVergl.xls.html

mal ansehen ob es deinen Vorstellungen entspricht

Gruß

Helmut
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi BenjaminM ^^

wie gewuenscht :-)

gruss nighty

Option Explicit
Sub Vergleich()
Dim Lzeile As Long, Qlzeile As Long
Dim Zaehler1 As Long, Zaehler2 As Long
Lzeile = Worksheets(1).Cells(Rows.Count, 7).End(xlUp).Row
Qlzeile = Worksheets(2).Cells(Rows.Count, 8).End(xlUp).Row
ReDim ArrQ(Qlzeile, 2) As Variant
ReDim ArrZ(Lzeile, 2) As Variant
Worksheets(2).Activate
ArrQ() = Range("H1:H" & Qlzeile)
Worksheets(1).Activate
ArrZ() = Range("G1:G" & Lzeile)
For Zaehler1 = 2 To Lzeile
For Zaehler2 = 2 To Qlzeile
If ArrZ(Zaehler1, 1) = ArrQ(Zaehler2, 1) Then
Worksheets(2).Rows(Zaehler2).Copy Worksheets(1).Cells(Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
Exit For
End If
Next Zaehler2
Next Zaehler1
End Sub
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Danke für eure schnellen Antworten.

@ Helmut
die Formel funzn nur teilweise!
Hier noch mal die
Datei
Er zeigt mir jetzt auch Vergleiche an die keine sind! (Die RechnungsNr. stimmt nicht überein)
Weiß auch nicht warum.


@Nighty
Habe leider nur Excel97 und dein Code funzt nicht.(Fehler beim kompilieren, keine Zuweisung an Datenfeld möglich [Zeile8]
Muss ich denn den dann als Makro starten, oder in die Arbeitsmappe packen und fertig?

Gruß Benjamin
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

wenn jemand noch excel97 besitzt und mir vielleicht dessen syntax postet ,dann koennten wir korrigieren :-))

wenn mich nicht alles taeuscht war es die zeile

das es bei 97 keine arrays gibt glaube ich mal nicht so auf anhieb ^^

ArrQ() = Range("H1:H" & Qlzeile)


gruss nighty
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

da bei mir mein Lösungsvorschlag ohne Probleme funktioniert (Excel 2003), kann ich den Fehler leider nicht nachvollziehen. Liegt wahrscheinlich an der Leistung des Rechners und / oder an Excel 97

Gruß

Helmut
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Hallo Helmut,

Hab das Problem das er die Spalten H & G zwar vergleicht, aber irgendwie die falschen Nummern zurückgibt.

Ich weiß aber nicht warum und woher er diese Nummern hat!
Liegt es evtl. daran das er den Vergleich in jeder Zelle wiederholt?(sind ja mehrere identische abfragen in den folge Zellen der gleichen Zeile)

Ich sag mal so, ist es möglich die Formel so zu ändern das er die Zellen H & G vergleicht, und wenn übereinstimmt
nur die Zellen davor mit zu kopieren?
Momentan ist es ja so das dann jede Zelle einzelnt abgefragt wird, oder verstehe ich das falsch?

Hoffe du verstehst mich!

Gruß benjamin
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

Momentan ist es ja so das dann jede Zelle einzelnt abgefragt wird, oder verstehe ich das falsch?


deine Überlegung ist richtig, aber da der Vergleichwert als letzte Spalte steht ist kein Sverweis o.ä. möglich und eine andere Lösung habe ich im Moment nicht parat

Gruß

Helmut
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

was ich noch vergass ^^

verbundene zellen sind nicht erlaubt und geschuetzte bereiche entschuetzen und wieder schuetzen :-))

gruss nighty
...