Hallo liebe VBA-Profis,
ich hab ein Makro (mit meinen sehr bescheidenen VBA-Kenntnissen) geschrieben, das leider nicht ganz so funktioniert wie ich es haben will:
Es werden durch das Makro die Nummern die in Mappe1 stehen in Mappe2 gesucht und das jeweilige Datum wird korrigiert (Mappe1 Datum ist richtig).
Hierzu hab ich folgenden Code:
Public Sub DatenKopieren()
Dim Nummer As String
Dim StartZelle As Range
Range("$A$2").Select ' Wählt die Ursprungszelle aus (auch wenn der Curser woanders ist)
' Schleife, die den Vorgang wiederholt
Do
' hier die Startzelle festsetzen
Set StartZelle = ActiveCell
' Schritt 1: Die aktuelle Zelle kopieren
StartZelle.Copy
' Schritt 2: Zur Mappe 2 wechseln
Workbooks("Mappe2.xlsm").Activate
' Schritt 3: Den kopierten Inhalt in Mappe 2 suchen
Nummer = StartZelle.Value
Cells.Find(What:=Nummer).Activate
' Schritt 4: Zurück zu Mappe 1 wechseln
Workbooks("Mappe1.xlsm").Activate
' Schritt 5: Eine Zelle nach rechts navigieren und Inhalt kopieren
ActiveCell.Offset(0, 1).Copy
' Schritt 6: Zu Mappe 2 wechseln
Workbooks("Mappe2.xlsm").Activate
' Schritt 7: Zwei Zellen nach rechts navigieren und Inhalt einfügen
ActiveCell.Offset(0, 2).PasteSpecial
' Schritt 8: Zurück zu Mappe 1 wechseln und zur nächsten Zahl navigieren
Workbooks("Mappe1.xlsm").Activate
ActiveCell.Offset(1, 0).Activate
' Überprüfen, ob die Zelle "STOP" enthält
If ActiveCell.Value = "STOP" Then
Exit Do ' Schleife beenden, wenn "STOP" gefunden wurde
End If
Loop
End Sub
Leider sucht das Makro nur die Zahlen in Mappe2 in der aktuellen Tabelle ich will allerdings, dass es die gesamte Arbeitsmappe durchsucht.
Die Nummern in Mappe2 stehen auch immer in Spalte D, also wäre es vielleicht auch zwecks der Performance das Beste, wenn das Makro in der gesamten Arbeitsmappe nur Spalte D durchsucht und dann das jeweilige Datum ersetzt.
Was genau muss ich hier verändern?
Vielen Dank euch bereits im Voraus!
VG :)