Dies ist mein erster Beitrag in diesem Forum. Habe zuvor schon mit Suchmaschinen etc. nach Codeschnipseln gesucht die mir mit meinem Problem weiterhelfen könnten. Leider nur mit mäßigem Erfolg. Dies wird erstrecht schwierig, wenn man die Codeschnipsel nicht "fachgerecht" aneinanderreihen kann. Nun zu meinem Problem:
Ich habe ein Tabellenblatt (Tabelle1) in denen in Spalte A verschiedenste Namen stehen und in den weiteren Spalten die Daten des Jahres.
In einem anderen Tabellenblatt (Tabelle2) stehen in Spalte A Namen die mit den aus Tabelle1 Spalte A identisch sein können. In Spalte B stehen dazugehörige Daten.
An einem Beispiel wird dies deutlicher:
Tabelle1:
Spalte1: Namen
Spalte2: 1.1.2015
Spalte3: 2.1.2015
Spalte4: 3.1.2015
Spalte5: [..]
Spalte366: 31.12.2015
Tabelle2:
Paul 1.5.2015
Paul 2.5.2015
Peter 1.5.2015
Max 10.5.2015
Max 11.5.2015
Max 12.5.2015
Nun wäre ein Makro genial, welches in Tabelle1 die Namen durchläuft, bei Fund in Tabelle2 das Datum kopiert (oder ein X) und dies in die entsprechende Spalte in Tabelle1 schreibt.
Ein erster Schritt wäre dies gefundene Makro: Sub Uebetragen() Dim rng As Range Dim iRowL As Integer, iRow As Integer iRowL = Cells(Rows.Count, 1).End(xlUp).Row For iRow = 1 To iRowL If Not IsEmpty(Cells(iRow, 1)) Then With Worksheets("Tabelle2") Set rng = .Cells.Find(Cells(iRow, 1), _ lookat:=xlWhole, LookIn:=xlValues) If Not rng Is Nothing Then Cells(iRow, 2) = .Cells(rng.Row, 2) Cells(iRow, 3) = .Cells(rng.Row, 3) End If End With End If Next iRow End Sub
Das stößt jedoch bei doppelten Werte auf seine Grenzen...
Vielen Dank für eure Ideen, Tips und Ratschläge. Wenn jemand eine rein Excelbasierte Lösung parat hat wäre das natürlich auch denkbar. Jedoch hab ich schon mit Funktionen wie Vergleich, Sverweis und Index Versuche angestellt, die aber in diesem Falle nicht zielführend waren.
Gruß Tim