VBA Zeile kopieren und in neue Tabelle einfügen

simp^ty

Ensign
Registriert
Jan. 2007
Beiträge
137
Hallo,

ich bin noch recht neu in VBA und versuche mich gerade an einer Kleinigkeit:

Ich habe einen Button erzeugt, der ein Makro aufrufen soll. Und zwar soll aus einer Datei (Tabelle1.xls) aus einer Zeile (z.B. 300) nur die Spalten A, B, C, E, I und J ausgelesen werden und in eine neue Datei (Tabelle2.xls) kopiert werden, in z.B. Zeile 10.

Der Button, der das machen soll, befindet sich in Tabelle2. Ich habe schon ein Makro aufgezeichnet, nur bringt mich das nicht weiter:
Code:
Option Explicit

Sub Auslesen()

    Range("B653,C653,E653,I653,J653").Select
    Range("J653").Activate
    Selection.Copy
    

'Hinweis
MsgBox "eingefügt"

End Sub

Würde mich über eure Hilfe freuen!
 
Zuletzt bearbeitet: (Info hinzugefügt)
Kann es sein dass die Information fehlt, wo die Daten konkret hinkopiert werden sollen? Nur eine dumme Idee von der Seite, ich hab von VBA so gut wie keine Ahnung...
 
Moin NoName,

da ist die Aufzeichnung aber recht unvollkommen ...

Wenn die Aufzeichnung komplett wäre und du etwas nachgearbeitet hättest, könnte folgender Code heraus kommen:
Code:
Option Explicit

Sub Auslesen()
   Sheets("Tabelle1").Range("B653,C653,E653,I653,J653").Copy ActiveSheet.Range("B653")
 
   'Hinweis'
   MsgBox "eingefügt"
End Sub
Dann wird in der Tabelle2 (wo der Button liegt und auch der Code!) in B653:F653 alles (ohne die Lücken) eingefügt. Willst du das immer an die gleiche Position haben, dann rufe das Copy einzeln nacheinander auf. Den Code kannst du dann hier noch einmal einstellen und wir werden dir zeigen, wie sich das Ganze noch etwas verbessern lässt.
 
@GMG-CC:
Danke schonmal für die Hilfe! Ich muss jetzt aber noch den Code hinzufügen, dass er die Daten aus der Tabelle1 (namends AE_DEW.xlsm, Arbeitsmappe "Pivot") ziehen soll.
Könnte ich das Finden der Zelle in der Tabelle2 mit Cells.Find("A10").PasteSpecial lösen?
 
Grummel… Wenn immer ich bei Excel Copy lese (außer bei File) schlägt mein Bauch Purzelbäume.

Wenn man denn innerhalb der selben Mappe (Irgendwas.XLS) zwischen Tabellenblättern kopieren will bietet sich eine Konstruktion wie diese an:
Code:
Worksheets("Blatt4").Range(Worksheets("Blatt4").Cells(1, 12), Worksheets("Blatt4").Cells(21, 12)) = _
Worksheets("Blatt5").Range(Worksheets("Blatt5").Cells(1, 4), Worksheets("Blatt5").Cells(21, 4)).Value
Direkte unmittelbare Übertragung. Volle Referenzierung, kein Select - und nichts was die Zwischenablage gefährden könnte.

Zwischen Mappen wäre das umständlicher.

CN8
 
Vielleicht verstehe ich deinen Eingangspost auch nur falsch, aber willst du die Daten zwischen mehreren Datein kopieren oder nur zwischen Blättern derselben Arbeitsmappe? Wenn es unterschiedliche Dateien sein sollen, würde ich gleich zu dieser Funktion greifen. Das klappt auch für geschlossene Arbeitsmappen, ist recht fix und nicht sehr kompliziert.

 
Zurück
Oben