VBA suchen in anderer Datei, Informationen kopieren

Hallo zusammen,

ich habe ein für mich sehr kompliziertes Problem mit Excel.
Anbei sind zwei Dateien, einmal die ZielDatei in diese Datei habe ich Namen eingetragen die in der QuellDatei gesucht werden sollen, um anschließend die nötigen Informationen aus der QuellDatei zu kopieren. (Dabei müssen idealerweise alle Tabellen durchgegangen werden!)

  1. Beide Dateien haben mehrere Tabellen. Wobei in der ZielDatei alle zu suchenden Namen immer in B2 bzw. C2 stehen, in der Quelldatei jedoch immer verschieden. (Diese Kleinigkeiten sollte ich aber selbstständig ausgebessert bekommen)
  2. Es soll also Vor und Nachname in QuellDatei gesucht werden und anschließend Schulungsstand und „von“ sowie „bis“ hinter den entsprechenden Namen in der ZielDatei kopiert werden.

Mein Versuch mich mit meinen mageren Kenntnissen langsam und Stück für Stück ran zu tasten scheint dabei völlig falsch zu sein. Ich bitte um Hilfe, da ich nach Stunden noch auf keinen grünen Zweig komme, nicht mal beim simplen kopieren.

Sub Aktualisieren()

Dim zelle As Range
Dim Suche1 As String

Quelle = „QuellDatei.xlsx“
Ziel = „ZielDatei.xlsm“

Suche1 = „B2“
Windows(Quelle).Activate ’
Sheets(„Schulungsstand 1“).Activate
ActiveSheet.Range(„B2:B50“).Select

For Each zelle In Selection

If zelle = Suche1 Then
zelle.Select
zelle.Offset(0, 3).Select
Selection.Copy

Windows(Ziel).Activate
Sheets(„Abteilung 1“).Activate
zelle.Offset(0, 2).Select
Selection.Paste

End If
Next zelle
End Sub

Hallo dennis,

du hast di Links zu den beiden Dateien vergessen. Dann sehen wir weiter.

Gruß, Andreas

Hallo Andreas,

danke dir :smiley:

http://www.file-upload.net/download-9432493/QuellDat…
http://www.file-upload.net/download-9432492/ZielDate…

Nachfragen
Hi dennis,

ich habe mir deine Dateien angeschaut und habe ein paar Fagen:

  1. Kann ein und die selbe Personen in der Quelldtatei mehrmals auftauchen, also z.B. in den Blättern „Schulungsstand 1“ und „Schulungsstand 3“?
  2. Können in einem Schulungsstand nur Personen aus einer Abteilung sein, oder auch aus mehreren?
  3. Sollen die Einträge in der Zieldatei letztendlich nach irgendwas sortiert sein?

Wenn ich Antworten habe, kann ich anfangen, ein Makro zu schreiben.

Gruß, Andreas

Noch 'ne Nachfrage
In der Quelldatei gibt es keine Spalten für die Abteilung. Woher soll der Makro beim Kopieren wissen, auf welches Abteilungsblatt in der Zieldatei er kopieren soll?

Gruß, Andreas

Hallo,

Abteilung ist unwichtig sorry. Ist bereits von Hand ausgewählt.

zu den vorherigen Fragen:

  1. Person taucht nur einmal auf.
  2. Im Prinzip können in einem Schulungsstand Personen aus mehreren Abteilungen sein, aber dadurch das die Abteilung irrelevant ist, hat sich die Frage vermutlich erübrigt.
  3. Einträge müssen nicht sortiert sein, sollen sogar die ursprüngliche Reihenfolge beibehalten.

Ich bin mal wieder begeistert über deinen überaus freundlichen Eifer und bin dir schon jetzt vielmals dankbar.

Gruß Dennis

Hallo,

Auch Hallo,

Abteilung ist unwichtig sorry. Ist bereits von Hand
ausgewählt.

Nö, geht so nicht. Der Makro muss wissen, auf welches Blatt der Zieldatei er die Daten schreiben soll.

zu den vorherigen Fragen:

  1. Person taucht nur einmal auf.

OK, gut.

  1. Im Prinzip können in einem Schulungsstand Personen aus
    mehreren Abteilungen sein, aber dadurch das die Abteilung
    irrelevant ist, hat sich die Frage vermutlich erübrigt.

Nein, hat sie nicht. S.O.

  1. Einträge müssen nicht sortiert sein, sollen sogar die
    ursprüngliche Reihenfolge beibehalten.

Da gibt es keine ursprüngliche Reihenfolge? Da in einem Zielblatt Einträge aus drei Quellblättern sein können, ist das nicht eindeutig.

  • Die Namen können auf dem Zielblatt alphabetisch sortiert werden (ungeachtet des Schulungsstandes)
  • Die Einträge können nach Schulungsstand sortiert werden (und evtl. innerhalb der Schulungsstände alphabetisch nach Name)

Ich bin mal wieder begeistert über deinen überaus freundlichen
Eifer und bin dir schon jetzt vielmals dankbar.

Gemach, gemach. Noch is nix pssiert.

Gruß Dennis

Gruß, Andreas

Aaaarrrg - Sorry!
da hatte ich einen Schwarz-Aus. Die Namen stehen ja schon in der Zieldatei. Es müssen ja nur die anderen Daten hinzugefügt werden. Ich mach mich heute Abend ans Coden.

Tschuldigung und Gruß,
Andreas

Ja ganz genau, nur die Daten zu den Namen kopieren.

Mir ist noch etwas eingefallen: Die einzelnen Tabellen heißen natürlich in echt nicht „Schulungsstand 1“ und „2“ etc. sondern haben verschiedene Namen. Also eine Lösung mit einer Schleife die die Zahl lediglich erhöht, um die Tabellenblätter durchzugehen, wird wohl nicht optimal funktionieren. Wenn es soetwas gibt wie „zur nächsten Tabelle gehen“ ist es optimal, zur Not reicht es mir aber auch wenn ich alle Tabellenblätter einzeln eingebe und abfrage.

Ich hoffe das ist verständlich.

Gruß Dennis

… und noch 'ne Frage:
In der Quelldatei steht
Vorname Nachname
In der Zieldatei steht
Nachname Vorname
also genau anders herum. Fehler, oder soll das so sein?

Gruß, Andreas

Nabend,

das soll so sein, und es soll auch beides übereinstimmen natürlich.

Gruß

Hi dennis,

ich habe mal deine beiden Mappen mit ein paar mehr Namen versehen, damit es etwas anschaulicher wird. Die

zielDatei.xlsm

enthält jetzt eine Makro

zusammenfassen

.
Öffne mal beide Dateien und lass den Makro laufen. Wenn wir Glück haben, ist das in etwa das, was du haben wolltest.

Gruß, Andreas

http://www.file-upload.net/download-9444326/QuellDat…
http://www.file-upload.net/download-9444329/ZielDate…

Läuft wie geschmiert
Hallo nochmal,

es war genau das was ich als Grundlage brauchte…Habe heute einige Zeit gebraucht um es alles nachzuvollziehen und auf die tatsächlichen Daten anzuwenden, aber am Ende hat es perfekt funktioniert…

Besten dank!

Fein! owT
.