Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Werte in nächste leer Zeile einer zweiten Datei übertragen





Frage

Hallo zusammen, ich habe mal wieder ein Makro-Problem. Ich habe zwei Dateien (Tagedaten.xls und Basisdaten.xls). Die Datei Tagesdaten.xls beinhaltet nun eine Datenzeile von A2 bis W2 (werden mittels Formeln berechnet). Diese sollen nun in die Datei Basisdaten.xls als Werte übertragen werden. Die Daten in Tagesdaten.xls werden jeden Tag wieder gelöscht, so dass diese in Basisdaten.xls gespeichert werden müssen. Dabei muss immer die nächste leere Zeile verwendet werden, um Überschreibungen zu vermeiden. Bsp.: Tagesdaten.xls Basisdaten.xls A2= 01.01.2007; B2= 13;C2 =2 -> A2 = 01.01.2007;B2= 13;C2 = 2 A2= 02.01.2007; B2=20 ;C2 =4 -> A3 = 02.01.2007;B3 = 20;C3 = 4 A2= 03.01.2007;B2=17;C2 = 9 -> A4 = 03.01.2007;B4 = 17;C4 = 9 : A = 31.12.2007;B2=34 C2=8 ->A257=31.12.2007; B2 =34;C257= 8 Bisher kopiere ich die Datenzeile aus Tagesdaten.xls und füge sie als Werte in die nächste leere Zeile von Basisdaten.xls ein. Da dies immer wieder derselbe Vorgang ist wäre eine VBA-Lösung super. Danke sas

Antwort 1 von Beverly

Hi,

versuche es mit diesem Code

Sub daten_übertragen()
    Dim wbMappe As Workbook
    Dim wsTabelle As Worksheet
    Dim loLetzte As Long
    Set wbMappe = Workbooks("Basisdaten.xls")
    Set wsTabelle = ThisWorkbook.Worksheets("Tabelle1")
    With wbMappe.Worksheets("Tabelle1")
        loLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, .Rows.Count)
        .Cells(loLetzte + 1, 1) = wsTabelle.Cells(2, 1)
        .Cells(loLetzte + 1, 2) = wsTabelle.Cells(2, 2)
        .Cells(loLetzte + 1, 3) = wsTabelle.Cells(2, 3)
    End With
End Sub


Code steht in Arbeitsmappe Tagesdaten.xls.

Bis später,
Karin

Antwort 2 von sas

Hallo Karin,

danke für die schnelle Lösung. Funktioniert super.

Grüsse
Sarah

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: