Thema Datum  Von Nutzer Rating
Antwort
Rot Zusammenführung von 2 Datensätzen
19.03.2012 10:05:38 Stefanie
NotSolved

Ansicht des Beitrags:
Von:
Stefanie
Datum:
19.03.2012 10:05:38
Views:
2285
Rating: Antwort:
  Ja
Thema:
Zusammenführung von 2 Datensätzen

Hey liebes Forum,

ich bin ein fast totaler Neuling im VBA-Land und habe mich mal an einem Problem versucht und wie sollte es auch anders sein, funktioniert es nicht. Daher dachte ich, ich versuche es hier mal. Vielleicht kann mir ja jmd. helfen. Zunächst mein Problem:

Ich habe 2 Tabellenblätter in 2 verschiedenen Dateien ("Datei 1" und "Datei 2"). In der ersten Datei sind in Zeile 3 ID's. In der zweiten Datei sind auch ID's und dazugehörig Daten in den jeweiligen Spalten. Nun möchte ich folgendes per Makro machen:

 

1. eine ID aus Datei 1 kopieren (es beginnt immer in Zelle B3)

2. in Datei 2 gehen

3. dort automatisch durch die Finden-Funktion die ID aus Datei 1 suchen (Anmerkung: es soll ausschließlich in Zeile 3 gesucht werden!!)

4.  dann in der gefundenen Spalte mit dem Cursor in Zeile 6 gehen

5. von zeile 6 bis zur letzten beschriebenen zeile alles markieren und kopieren

6. wieder in Datei 1 zurück gehen

7. dort auch in zeile 6 springen und die Daten aus der Zwischenablage einfügen 

Diese Schritte sollen so lang wiederholt werden bis die letzte ID in Datei 1 mit den dazugehörigen Daten aus Datei 2 "aufgefüllt" wurde. Außerdem will ich das Makro nicht nur auf eine "Datei 1" anwenden, d.h. es gibt verschiedene Dateien, die ich mit Daten aus Datei 2 befüllen möchte. Kann das auch irgendwie eingebaut werden?

Hier seht ihr mal meinen ersten Versuch... mit sicher vielen Fehler. Aber vielleicht habt ihr ja Ideen?!

 

Sub füllen1()
'
' füllen1 Makro
'
    Dim ID As Integer
    
    LetzteZeile = Range("B3").End(xlToLeft).Column = 1
    
    For i = 2 To LetzteZeile
    
        Cells(3, i).Value.Select
' damit lasse ich nur in der 3 Zeile kopieren
        
        Selection.Copy
        ID = Selection.Copy
' Zelle kopieren
    
        Windows("Datei 2").Activate
' Test öffnen
        
        Rows(1).Find(What:=ID, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
' nur in der 3 Zeile suchen
' 3 zeilen runtergehen --> von der aktiven Zelle aus
        
        ActiveCell.Offset(3, 0).Select
            
' verschiebt Cursor 3 nach unten
            
        Range(Selection, Selection.End(xlDown)).Select
' Application.CutCopyMode = False -> kann man weglassen, oder

        Selection.Copy
        Windows("Datei 2").Activate
        Cells(6, i).Select
        ActiveSheet.Paste
    
    
    i = i + 1
    Next i
    
End Sub



Also was meint ihr?

Viele Grüße und einen guten Wochenstart. :)
Steffi

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Zusammenführung von 2 Datensätzen
19.03.2012 10:05:38 Stefanie
NotSolved