HERBERS Excel-Forum - das Archiv
Daten von einem Blatt ins andere kopieren
einem

Hallo Forum,
ich möchte Daten aus einer Tabelle "Import", in welcher sie nach einem csv-Import händisch aufbereitet/ergänzt werden müssen, in eine zweite Tabelle "Datenbank" kopieren.
Soweit so gut.
Es funktioniert mit folgendem Code schon ganz gut:
Private Sub Schreibe_Datenbank_Click()
'Kopieren der Tagesauswertung in die Zwischenablage
Worksheets("Import").Range("B8:K107").Copy
'Einfügen der Tagesauswertung in die Datenbank
Worksheets("Datenbank").Activate
Worksheets("Datenbank").Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Formatierung der Spalte A in Datum
Worksheets("Datenbank").Columns("A:A").NumberFormat = "dd/mm/yyyy"
Worksheets("Datenbank").Range("A1").Select
Worksheets("Datenbank").Range("A65536").End(xlUp).Offset(1, 0).Select
End Sub
Danach soll Excel die "Datenbank", wie beim Autofilter, halt nur per VBA nach Spalte J und dann nach Spalte A sortieren.
Entweder liegts an der fortgeschrittenen Zeit...
Aber ich bekomme das nicht hin.
Zu Hülf... ;-)

AW: Daten von einem Blatt ins andere kopieren
einem

Hallo Elias,
hier dein Makro ein wenig optimiert. Die Vorgaben für den zu sortierenden Beriech muss du ggf noch etwas anpassen.
Gruß
Franz
Private Sub Schreibe_Datenbank_Click()
'Kopieren der Tagesauswertung in die Zwischenablage
Worksheets("Import").Range("B8:K107").Copy
With Worksheets("Datenbank")
.Activate
'Einfügen der Tagesauswertung in die Datenbank
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'Formatierung der Spalte A in Datum
.Columns("A:A").NumberFormat = "dd/mm/yyyy"
'Sortieren
'In .Cells(1, 1) (entspricht A1) ggf. die Nr. der Zeile mit den _
Spaltentiteln anpassen
'in Offset(0, 10) die 10 ggf. anpassen, damit alle Spalten bei Sortierung _
erfasst werden
With .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 10))
.Sort key1:=.Range("J1"), Order1:=xlAscending, _
Key2:=.Range("A1"), Order2:=xlAscending, _
Header:=xlYes
End With
End With
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
End Sub

AW: Daten von einem Blatt ins andere kopieren
einem

Hallo Franz,
vielen Dank für Deine Hilfe. funktioniert soweit prima, die letzte Anweisung
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
bringt mir allerdings einen Laufzeitfehler 1004 "Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden".
Dabei soll er doch nur auf die erste freie Zelle am Ende der DB zurückspringen und das Bild auch da hin scrollen... :-(
:-)
AW: Daten von einem Blatt ins andere kopieren
einem

versuch mal
Worksheets("Datenbank").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select

müsste eigentlich funktionieren
AW: Daten von einem Blatt ins andere kopieren
einem

Hallo A.,
Du hast doch eine Lösung vorgeschlagen warum ist der Beitrag noch als offen gekennzeichnet. Lass das doch den Fragesteller entscheiden.