Excel Datenablage
Hi,
ich habe ein Excel Ablageproblem...Ziel ist es aus einer Rechnungseingabemaske die Daten zu kopieren und in eine Tabelle(gleiche Datei) abzulegen(einfügen). Dabei ist natürlich wichtig, dass er erstmal die nächste freie Zeile ermittelt.
Soweit so gut. Kopieren tut er, letzte Zeile ermitteln auch...Das mit dem einfügen ist seltsamer Weise mein Problem.
Obwohl er die Daten in einer anderen Tabelle einfügt, bekomme ich die Nachricht, dass es Typenunverträglich ist:
Sub Ablage()
Dim lastRow As Long
Dim firstRow As Long
'Kopiert Rechnungsdaten
Worksheets("Rechnungseingabe").Select
Range("A10:H24").Select
Selection.Copy
'Zählt die bereitsabgelegten Zeilen
Worksheets("PreOrder").Select
firstRow = Range("A2").EntireRow.Select
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
'Fügt in die erste freie Zeile ein
ZielZeile = Cells(lastRow, 1).Select
Set ZielZeile = Selection.PasteSpecial(xlPasteValues)
Worksheets("Rechnungseingabe").Select
MsgBox "Daten sind abgelegt!"
End Sub
Ich nehme an, dass es daran liegt, das PasteSpecial eine Range benötigt. Leider weiß ich nicht wie ich diese vernünftig hier deklariere...Kann mir jemand helfen?
Obwohl er die Daten in einer anderen Tabelle einfügt, bekomme ich die Nachricht, dass es Typenunverträglich ist:
Sub Ablage()
Dim lastRow As Long
Dim firstRow As Long
'Kopiert Rechnungsdaten
Worksheets("Rechnungseingabe").Select
Range("A10:H24").Select
Selection.Copy
'Zählt die bereitsabgelegten Zeilen
Worksheets("PreOrder").Select
firstRow = Range("A2").EntireRow.Select
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
'Fügt in die erste freie Zeile ein
ZielZeile = Cells(lastRow, 1).Select
Set ZielZeile = Selection.PasteSpecial(xlPasteValues)
Worksheets("Rechnungseingabe").Select
MsgBox "Daten sind abgelegt!"
End Sub
Ich nehme an, dass es daran liegt, das PasteSpecial eine Range benötigt. Leider weiß ich nicht wie ich diese vernünftig hier deklariere...Kann mir jemand helfen?
Please also mark the comments that contributed to the solution of the article
Content-Key: 132149
Url: https://administrator.de/contentid/132149
Printed on: April 23, 2024 at 08:04 o'clock
3 Comments
Latest comment
Hallo zusammen!
Wobei man das Ganze auch weniger umständlich machen kann:
Und wenn die Zellen im gleichem Format kopiert werden können, dann so:
Gruß Dieter
Wobei man das Ganze auch weniger umständlich machen kann:
Sub Ablage()
Dim Wks As Worksheet, NextLine As Long
Set Wks = Sheets("PreOrder")
Sheets("Rechnungseingabe").Range("A10:H24").Copy
NextLine = Wks.Cells(Wks.Rows.Count, "A").End(xlUp).Row + 1
Wks.Cells(NextLine, "A").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
MsgBox "Daten sind abgelegt!"
End Sub
Sub Ablage()
Dim Wks As Worksheet, NextLine As Long
Set Wks = Sheets("PreOrder")
NextLine = Wks.Cells(Wks.Rows.Count, "A").End(xlUp).Row + 1
Sheets("Rechnungseingabe").Range("A10:H24").Copy Destination:=Wks.Cells(NextLine, "A")
Application.CutCopyMode = False
MsgBox "Daten sind abgelegt!"
End Sub