2010-12-22 79 views
0

我試圖讓這段代碼在12月之內找到任何日期,並將它複製到同一工作簿中的工作表中。 LSheetL是我的十二月份標籤。我已經創建了另外11個月的標籤,並且每個月都必須複製這段代碼,是否有更簡單/更整合的方式來逐月實現掃描/複製/粘貼到適當的標籤中? - 我的問題是,無論何時執行此代碼,它都會給我一個「Microsoft Visual Basic - 運行時錯誤'1004' - 應用程序定義或對象定義的錯誤」。有任何想法嗎?我在考慮刮這些代碼並採用另一種方法,但我想看看在我跳過之前我們能否解決這個問題。我還被告知,激活不同的工作表並不是從這裏獲取數據的「最漂亮」方法,有沒有更好的方法來執行此功能?謝謝你的幫助。Excel 2003 VBA找到並複製到新工作表

[代碼]

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

看起來有些初始化代碼丟失 – 2010-12-22 19:27:50

回答

0

首先請把你的整個代碼,這會更容易發現問題。 然後我沒有看到你什麼時候改變while循環的條件,所以基本上循環永遠不會結束。這個行對我來說似乎是錯誤的,方法Cells以兩個數字作爲參數,所以「q」可能是你得到的原因這個錯誤。 爲了解決這個問題,請使用如下所示的Methode範圍:Range(「Q65535」)或Cells(65535,17)

相關問題