Microsoft Excel

Herbers Excel/VBA-Archiv

Daten von einem Blatt ins andere kopieren | Herbers Excel-Forum


Betrifft: Daten von einem Blatt ins andere kopieren von: Elias
Geschrieben am: 10.01.2010 07:58:39

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... ;-)

  

Betrifft: AW: Daten von einem Blatt ins andere kopieren von: fcs
Geschrieben am: 10.01.2010 08:48:40

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



  

Betrifft: AW: Daten von einem Blatt ins andere kopieren von: AW: Daten von einem Blatt ins andere kopieren
Geschrieben am: 10.01.2010 16:23:40

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... :-(

:-)


  

Betrifft: AW: Daten von einem Blatt ins andere kopieren von: A.gerken
Geschrieben am: 10.01.2010 18:27:38

versuch mal

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

müsste eigentlich funktionieren


  

Betrifft: AW: Daten von einem Blatt ins andere kopieren von: Hajo_Zi
Geschrieben am: 13.01.2010 10:33:40

Hallo A.,

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

GrußformelHomepage


Beiträge aus den Excel-Beispielen zum Thema "Daten von einem Blatt ins andere kopieren"