我有代码复制工作表A的A:C列(未设置行数,将重复使用,并且数量将更改)并粘贴到同一工作簿,不同工作表,工作表中的第一空白行B(这也没有设置行数,并且将更改)。
工作表B在要粘贴到的同一列中有一个公式,如果没有数据,则返回“”。我认为VBA正在看到“”,并假设那里有数据。但是,甚至没有粘贴到没有上述公式的行也不会粘贴。
Sub Copy_Created_Fringe_Accounts()
Dim SourceRange As Range
Dim DestRange As Range
Dim DestSheet As Worksheet
Dim LastRow As Long
'Source sheet and range
Set SourceRange = Sheets("CREATED FRINGE ACCTS").Range("A2:C500")
'Destination sheet and range
Set DestSheet = Sheets("99 BUDGET WORKSHEET")
'Last Row
LastRow = DestSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
'Copy and paste to destination
Set DestRange = DestSheet.Range("A" & LastRow + 1)
SourceRange.Copy DestRange
End Sub
运行时什么也没发生。我希望从第一个可用的空行开始,将工作表A中的数据复制到工作表B中。
我对VBA还是很陌生,所以对您的帮助/理解都非常感谢。
答案 0 :(得分:0)
请尝试使用UsedRange
查找最后使用的行,因为这比使用Find
更安全。
LastRow = DestSheet.UsedRange.Rows.Count
如果您的代码与这些工作表位于同一位置,那么我建议使用它们的code name。如果工作表不存在,这可以防止您遇到错误。