复制整个excel行并粘贴到表的底部
我正在编写一个Excel宏,它逐行遍历Excel表,并在满足条件时复制整行并粘贴到最后一行下。在行中循环并满足条件都是可行的,但我一直在复制某一行并将其粘贴到表的末尾复制整个excel行并粘贴到表的底部,excel,vba,Excel,Vba,我正在编写一个Excel宏,它逐行遍历Excel表,并在满足条件时复制整行并粘贴到最后一行下。在行中循环并满足条件都是可行的,但我一直在复制某一行并将其粘贴到表的末尾 Sub Makro1() Application.Goto Reference:="Makro1" Dim i As Integer With ActiveSheet 'for looping totalRows = .Cells(.Rows.Count, "A").En
Sub Makro1()
Application.Goto Reference:="Makro1"
Dim i As Integer
With ActiveSheet
'for looping
totalRows = .Cells(.Rows.Count, "A").End(xlUp).Row
'index of last row even after rows have been added
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
'data starts at row #3
For i = 3 To totalRows
If Cells(i, 19).Value > 0 Then
number = Cells(i, 19).Value
Do While number > 0
lastRow = lasRow + 1
Rows(lastRow) = Rows(i).Value
number = number - 1
Loop
End If
Next i
End With
End Sub
我得到运行时错误1004。
我知道嵌套循环很糟糕,我只是需要它来工作(非编码)以使我的生活更轻松 错误:
运行时错误“1004”:应用程序定义或对象定义错误 。。。在代码的第一行发生:
Application.Goto Reference:="Makro1"
该语句需要一个名为“Makro1”的命名范围,但找不到它。如果它能找到它,范围就会滚动到视图中。如果这对您不重要,那么只需将该行注释掉:
' Application.Goto Reference:="Makro1"
否则,请从功能区上的“公式”选项卡打开“名称管理器”,并检查工作簿的命名范围。如果您知道应该以这种方式调用哪个范围,则可能会重新创建“Makro1”。错误:
运行时错误“1004”:应用程序定义或对象定义错误 。。。在代码的第一行发生:
Application.Goto Reference:="Makro1"
该语句需要一个名为“Makro1”的命名范围,但找不到它。如果它能找到它,范围就会滚动到视图中。如果这对您不重要,那么只需将该行注释掉:
' Application.Goto Reference:="Makro1"
否则,请从功能区上的“公式”选项卡打开“名称管理器”,并检查工作簿的命名范围。如果您知道应该以这种方式调用哪个范围,则可能会重新创建“Makro1”。您正在将
用于,但随后停止使用锚定。在For
循环中,在所有单元格()
和行()
之前添加
。此外,错误会出现哪一行?我已删除了“Application.Goto Reference:=”Makro1“,它修复了错误。这个问题已经用我的最新代码更新了。现在什么都没有发生,没有错误,也没有粘贴。知道为什么吗?那是另一个问题。请继续回答原来的问题,如果答案解决了这个问题,最好将其标记为已接受。谢谢;-)您正在将与
一起使用,但随后停止使用锚定。在For
循环中,在所有单元格()
和行()
之前添加
。此外,错误会出现哪一行?我已删除了“Application.Goto Reference:=”Makro1“,它修复了错误。这个问题已经用我的最新代码更新了。现在什么都没有发生,没有错误,也没有粘贴。知道为什么吗?那是另一个问题。请继续回答原来的问题,如果答案解决了这个问题,最好将其标记为已接受。谢谢;-)谢谢,错误信息已经消失了。不幸的是,没有发生任何事情(没有粘贴任何行)。你知道为什么没有吗?我已经用我现在的代码更新了帖子。请用原始问题还原你的问题,因为现在我的答案不再有意义了。请不要这样改变你的问题;你总是可以问一个新问题。很抱歉,我没想到。已还原问题。很好,我看到您也发布了新问题,并且已经得到了答案:)谢谢,错误消息已消失。不幸的是,没有发生任何事情(没有粘贴任何行)。你知道为什么没有吗?我已经用我现在的代码更新了帖子。请用原始问题还原你的问题,因为现在我的答案不再有意义了。请不要这样改变你的问题;你总是可以问一个新问题。很抱歉,我没想到。恢复了问题。很好,我看到您也发布了新问题,并且已经得到了答案:)