Ich habe zwei separate Excel-Dateien. In einer davon in Sheet1 sind Informationen über Bestellungen und Bestellnummern gespeichert. Jetzt jedes Mal, wenn ich eine neue Bestellung mache, möchte ich diese Informationen aus meiner Bestellung gesammelt und in so genannte "Datenbank" Arbeitsmappe eingefügt werden. Er sollte die letzte leere Zeile in Spalte A: A in C:\Users\user\Desktop\Order_number.xlsx
identifizieren und neue Werte aus dem Bereich ("C6,C17,C10,H18,B32,G32,H6,H9")
in die nächste leere Zeile einfügen. Hier ist der Code, den ich gefunden habe, aber es gibt einen Fehler und es funktioniert nicht. Wie kann es behoben werden?Kopieren Sie Zellenwerte in die nächste leere Zeile in eine andere Arbeitsmappe. Vba
Sub TransferValues465()
Dim wsMain As Worksheet: Set wsMain = ThisWorkbook.ActiveSheet
Dim wsData As Worksheet: Set wsData = Workbooks.Open("C:\Users\user\Desktop\Order_number.xlsx").Sheets("Sheet1")
Dim rngToCopy As Range: Set rngToCopy = wsMain.Range("C6,C17,C10,H18,B32,G32,H6,H9")
Dim c As Long
Dim ar As Range
Dim cl As Range
Dim LastRow As Long
Dim rngDestination As Range
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
End With
'Get the last row in Database sheet:
LastRow = wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row
Set rngDestination = wsData.Cells(LastRow + 1, 1).Resize(1, 25).Offset(0, 0)
For Each ar In rngToCopy.Areas
For Each cl In ar
c = c + 1
'I used this next line for testing:
' rngDestination.Cells(c).Value = cl.Address
rngDestination.Cells(c).Value = cl.Value
Next
Next
End Sub
Sie haben 'deklarierte wsMain' zweimal aber nicht wsData' erklärt'. – Jordan