Hallo,
ich habe in einer Arbeitsmappe zwei Tabellen:
Kunden
Kontakte
In Kunden stehen in der Spalten A-D
Anrede
Name
Vorname
Nachname
In Kontakte
stehen ebenfalls in den Spalten A-D
Anrede
Name
Vorname
Nachname
und zusätzlich in Spalte E
Firma
Die Tabelle Kontakte enthält mehr Einträge als die Tabelle Kunden.
Ich bräuchte nun ein Makro, dass den Bereich von Kunden (A-D) mit
dem Bereich Kontakte (A-D) vergleicht, und wenn in Kontakte ein Eintrag gefunden wurde, der passt, den Eintrag von Kontakte in Spalte E in die Spalte F von Kunden kopiert.
Quasi:
for i = 1 to 99
SucheintragKunde = Range(KundeAi, KundeDi)
for j = 1 to 99
vergleichKontakte = Range(KontakteAj, KontakteDj)
if SucheintragKund = vergleichKontakte then
Kunde(F,i) = Kontakte (E,j)
exit for
end if
next j
next i
Kann mir da jemand helfen?
Gruss
Sina
Quasi:
for i = 1 to 99
SucheintragKunde = Range(KundeAi, KundeDi)
for j = 1 to 99
vergleichKontakte = Range(KontakteAj, KontakteDj)
if SucheintragKund = vergleichKontakte then
Kunde(F,i) = Kontakte (E,j)
exit for
end if
next j
next i
Kann mir da jemand helfen?
Gruss
Sina
Hi Wirtschaftsinformatikerin!
Was brauchst Du denn genau?
Du mußt das Ganze ja nur noch syntaktisch richtig codieren.
Probier mal Extras>Makro>aufzeichnen
und führe die Schritte (von Hand) aus. dann brauchst Du quasi nur
noch die Schleife drumherum schreiben und hast fertig!
Gruß
Gerald
In Kunden und Kontake stehen in der Spalten A-D
Anrede
Name
Vorname
Nachname
und bei Kontakt zusätzlich in Spalte E Firma
Ich bräuchte nun ein Makro, dass den Bereich von Kunden (A-D)
mit
dem Bereich Kontakte (A-D) vergleicht, und wenn in Kontakte
ein Eintrag gefunden wurde, der passt, den Eintrag von
Kontakte in Spalte E in die Spalte F von Kunden kopiert.
Hi sina,
probier mal:
Sub firma()
Set Quelle = Worksheets("Kontakte")
Set Ziel = Worksheets("Kunde")
anzQ = Quelle.Range("B65536").End(xlUp).Row 'letzte ben. Zeile in spalte B
anzZ = Ziel.Range("B65536").End(xlUp).Row 'letzte ben. Zeile in spalte B
With Quelle
For n = 2 To anzZ 'Zeile 1 gleich Übereschrift
Set c = .Range("B2:B" & anzQ).Find(Ziel.Cells(n, 2), LookIn:=xlValues)
If Not c Is Nothing Then Ziel.Range("F" & n) = .Range("E" & c.Row)
Next n
End With
Set Quelle = Nothing
Set Ziel = Nothing
Set c = Nothing
End Sub