【发布时间】:2019-12-21 11:06:23
【问题描述】:
我有代码复制工作表 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 还很陌生,因此感谢任何帮助/理解。
【问题讨论】:
-
您是否使用过
Debug.Print LastRow来确定它返回的内容? -
我没有;我不熟悉它或它是如何使用的;这是我要添加到现有 VBA 中的内容吗(上面包含的内容)?
-
设置
LastRow后添加。它会在您的编辑器中的立即窗口中打印一个数字。但是,为什么不调整单元格中的公式以返回类似“PASTE”而不是“”??