2015-12-16 35 views
-1

有沒有人曾在Excel VBA中的一個問題,即一個循環來複制和粘貼行和檢查一定的標準有時漏掉了信息後,我嘗試調試和運行通過它工作正常循環複製粘貼隨意離開了數據

我有一個循環

For rnum = 3 To LastRow 
    'if all cells are equal to the Comboboxes then copy and paste the row 
    ThisWorkbook.Activate 

    If Sheets("Revised Budget").Cells(rnum, 1).Value = BUval And _ 
      Sheets("Revised Budget").Cells(rnum, 2).Value = TeamLocVal And _ 
      Sheets("Revised Budget").Cells(rnum, 3).Value = YrVal And _ 
      Sheets("Revised Budget").Cells(rnum, 9).Value = InstVal Then 

     Sheets("Revised Budget").Range(Cells(rnum, 1), Cells(rnum, 12)).Copy 
     NewWkbk.Sheets("Actual").Activate 

     If NewWkbk.Sheets("Actual").Range("A1").Offset(1, 0).Value = "" Then 
      NewWkbk.Sheets("Actual").Range("A1").Offset(1, 0).PasteSpecial 
     Else 
      NewWkbk.Sheets("Actual").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial 
     End If 

     Application.CutCopyMode = False 

    End If 

Next rnum 

回答

0

您的變量是字符串還是整數? 如果它們中的任何一個都是字符串,您可以嘗試確保它不是字符串匹配大小寫的問題。

ucase(Sheets("Revised Budget").Cells(rnum, 3).Value) = ucase(YrVal) 
0

考慮更新你所有的.value.value2的。我遇到了(可能)類似的問題,併爲我解決了這個問題。

0

我想我可能已經通過一些更多的研究來了解它。宏在其中運行的頁面有過濾的數據。我把一個代碼ShowAllData,我相信應該解決這個問題。