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
Code steht in Arbeitsmappe Tagesdaten.xls.
Bis später,
Karin
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
danke für die schnelle Lösung. Funktioniert super.
Grüsse
Sarah