# Vergleich von zwei Spalten



## Nici5 (27. Dezember 2006)

Hallo zusammen,

ich habe zwei Tabellen die ich miteinander vergleichen möchte. In der einen stehen Firmen mit zugehöriger Kennung. In der anderen die zuständigen Betreuer mit der jeweiligen Kennung der Firmen. Hier ein Beispiel:

Tabelle1:

A1               B1
Kennung1     Firma1
Kennung2     Firma2
Kennung3     Firma3
Kennung4     Firma4
Kennung5     Firma5
...  

Tabelle2:

A1               B1
Kennung1    BetreuerA
Kennung2    BetreuerA
Kennung3    BetreuerB
Kennung4    BetreuerB
Kennung5    BetreuerA
......

Jetzt möchte ich die zwei Tabellen miteinander vergleichen und jeder Firma den Betreuer zuordnen.

Für jede Hilfe bin ich dankbar !

Lieben Gruß,
Nici


----------



## Jacka (27. Dezember 2006)

Hi!

Wie liegen denn die Tabellen vor? Als Excel-Mappe oder in einem Flexgrid oder in einer DB?

Grüße,
Jacka


----------



## Nici5 (27. Dezember 2006)

Hi Jacka nochmal ! )
Die Tabellen liegen in einer Exel-Mappe. Habe auch schon fast die Lösung:


Public Sub Find_double()
' Kopieren der doppelten  Einträgen aus Tabelle 1/2 in Tabelle3.
' --------------------------------------------------------------------------

Dim iCol1 As Long
Dim I As Integer
Dim rTabel1, rTabel2, rTemp As Range


Set rTabel1 = Worksheets("Tabelle1").UsedRange
Set rTabel2 = Worksheets("Tabelle2").UsedRange
iCol1 = rTabel1.Columns.Count  ' Spaltenanzahl Tabelle 1


' Schleife über alle Zeilen der ersten Tabelle
' ----------------------------------------------------------
For I = 2 To rTabel1.Rows.Count


  ' den Inhalte der ersten Spalte/Tabelle1,
  ' in der ersten Spalte/Tabelle2 suchen.
  '-----------------------------------------

Set rTemp = rTabel2.Range(rTabel2.Cells(1, 1), rTabel2.Cells(rTabel2.Rows.Count, 1) _
              ).Find(What:=rTabel1.Cells(I, 1).Value, _
              LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
              SearchDirection:=xlNext, MatchCase:=True)


  ' wird ein doppelter Eintrag gefunden, die aktuelle Zeile der
  ' ersten Tabelle, in die Tabelle 3 kopieren


' --------------------------------------------------------------------------

  If Not rTemp Is Nothing Then
    rTabel1.Range(rTabel1.Cells(I, 1), rTabel1.Cells(I, iCol1)).Copy _
    Destination:=Worksheets("Tabelle3").Cells(I, 1)
  End If
Next I


End Sub


Hier werden die gefundenen Einträge aus Tabelle1 in die selbe Zeile in die Tabelle3 eingetragen. Es sollen aber die gefundenen Einträge aus Tabelle2 in die selbe Zeile in die Tabelle3 eingetragen werden..... 

Hoffe hab mich verständlich ausgedrückt.

Danke und Gruß,
Nici


----------



## Jacka (27. Dezember 2006)

Nici5 hat gesagt.:


> Hier werden die gefundenen Einträge aus Tabelle1 in die selbe Zeile in die Tabelle3 eingetragen. Es sollen aber die gefundenen Einträge aus Tabelle2 in die selbe Zeile in die Tabelle3 eingetragen werden.....



Öh.. wenn ich das jetzt richtig verstanden habe, dann ist das doch eigentlich egal oder?
In deinem Skript vergleicht er Tabelle 1 mit Tabelle 2 und die übereinstimmenden Werte schreibt er in die Tabelle3.
Ich glaube nicht, dass dir das bei deinem Problem hilft..  

Ich gehe mal davon aus, dass du mit VB arbeiten möchtest (da VB-Forum) und nicht unter Excel mit VBA oder?

Grüße,
Jacka


----------



## Nici5 (28. Dezember 2006)

Hallo Jacka,

du hast schon Recht ! mein Code hilft mir nicht so ganz weiter.....  Es werden zwar die doppelten Einträge gefunden aber nicht an die jeweilige Stelle geschrieben.
Ich möchte ein VB Code haben der mir die beiden Tabellen vergleicht und zu jeder Firma den entsprechenden Berater davor schreibt. 

Danke und Gruß,
Nici


----------

