我试图让这段代码在12月内找到任何日期并将其复制到同一工作簿中的工作表中。 LSheetL是我的12月标签。我已经创建了其他11个月的标签,并且每个月都要复制这段代码,是否有更简单/更整合的方式来实现逐月扫描/复制/粘贴到适当的标签? - 我的问题是,无论何时执行此代码,它都会给我一个“Microsoft Visual Basic - 运行时错误'1004' - 应用程序定义或对象定义的错误”。有任何想法吗?我正在考虑抓取这些代码并采用另一种方法,但我想看看我是否可以在我跳过之前解决这个问题。我也被告知,激活不同的工作表不是从这里获取数据的“最漂亮”方法,是否有更好的方法来执行此功能?谢谢你的帮助。
[code]
While LContinue = True
LastRow = Cells(65535, "q").End(xlUp).Row
If Month(Range("Q" & CStr(LRow)).Value) = 12 Then
Range("E" & CStr(LRow) & ",G" & CStr(LRow) & ",K" & CStr(LRow) & ",O" & CStr(LRow) & ",P" & CStr(LRow) & ",Q" & CStr(LRow) & ",AK" & CStr(LRow)).Select
Selection.Copy
Sheets(LSheetL).Activate
Range("A" & CStr(LCurPRow)).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("A1").Select
LCurPRow = LCurPRow + 1
Sheets(LSheetMain).Activate
End If
LRow = LRow + 1
Wend
MsgBox "The copy has completed successfully."
[/代码]
答案 0 :(得分:0)
首先请发布您的整个代码,这样会更容易找到问题。 然后我没有看到你何时改变你的while循环的条件,所以基本上循环永远不会结束。
LastRow = Cells(65535,“q”)。End(xlUp).Row 这条线对我来说似乎不对,单元格方法取两个数字作为参数,所以“q”可能就是你得到这个错误的原因。 要进行此操作,请使用Methode范围,如下所示:范围(“Q65535”)或单元格(65535,17)