我有一个ERP系统,可以将信息从交货单复制到档案中。我的问题是,我找不到一种方法来声明代码以找到下一个可用行(将在其中存储数据的位置)作为变量,然后将数据复制过来,我只能在没有变量的情况下进行操作。 / p>
我尝试使下一个可用行的代码变暗,而不是变暗,并尝试将要从中复制数据的单元格作为变量而不是。
我还尝试过声明要从其中复制数据的单元格作为变量(shipFrom),然后将shipFrom复制到下一个可用行中,而没有将其声明为变量,但仍然不执行任何操作。
代码:
Dim nextRow As Range
Dim shipFrom As String
shipFrom = Sheets("DN").Range("D9").value
Set nextRow = Sheets("Arkiv").Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
shipFrom.Copy nextRow
运行代码时没有错误消息,只是没有结果... 我期望D9中的值被声明为shipFrom,以复制到nextRow,这是我用于下一个可用行的变量。
答案 0 :(得分:1)
shipFrom As Range
Set shipFrom
为其设置范围。因为不能在字符串上使用.Copy
。它仅适用于范围对象。
Dim shipFrom As Range
Set shipFrom = Sheets("DN").Range("D9")
Dim nextRow As Range
Set nextRow = Sheets("Arkiv").Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
shipFrom.Copy nextRow 'copy the whole cell shipFrom to nextRow
请注意,.Copy
将使用其所有格式复制整个单元格。仅复制值的替代方法是
Dim shipFrom As String
shipFrom = Sheets("DN").Range("D9").Value
Dim nextRow As Range
Set nextRow = Sheets("Arkiv").Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
nextRow.Value = shipFrom 'set the value of nextRow equal to the value shipFrom