2013-02-07 63 views
1

寫下面的代碼以檢查兩個單元是否相同。第20列中的單元格是從其他工作表返回評論的查找。我想檢查列16中的單元格是否已經有了這些註釋,如果沒有,我希望宏將值從20中的單元格粘貼到16中的單元格中。我基本上這樣做是因爲我想要註釋在16中只是純文本,但它需要動態地(通過另一個宏)更新,因爲註釋與它們坐在工作表旁邊的數據透視表相關。在同一活動工作表中複製/粘貼單元格時的運行時錯誤1004

編輯:我正在使用Excel 2007以防萬一它是相關的。

在下面的代碼,這個問題時顯示宏試圖將細胞複製在塔20 此代碼具體:

ActiveSheet.Range(Cells(rowstest, 20)).Copy 

這裏是全碼:

Sub MgrCmntsTest() 
    Application.ScreenUpdating = False 
    Dim rowstest As Integer 
    rowstest = 1 
    Dim comments As String 
    Dim commentsForm As String 
    With ActiveSheet.Range("a1:u500") 
     Do 
     comments = Cells(rowstest, 20).Value 
     commentsForm = Cells(rowstest, 16).Value 
     If comments = commentsForm Then 
      rowstest = rowstest + 1 
     Else 
      ActiveSheet.Range(Cells(rowstest, 20)).Copy 
      ActiveSheet.Range(Cells(rowstest, 16)).Select 
      ActiveSheet.PasteSpecial Type:=xlPasteValues 
      rowstest = rowstest + 1 
     End If 
     Loop While rowstest < 501 
    End With 
    Application.ScreenUpdating = True 
End Sub 
+0

使用'ActiveSheet.Cells(rowstest,20).Copy' – brettdj

回答

2

其實你可以減少代碼到

Range("p1:P500").Value = Range("T1:T500").Value 

(as如果它們不同,需要複製這些值,並且如果它們相同,則值仍然可以被複制)

+0

現在你已經讓我感覺像個白癡,哈哈。 感謝您的迴應,並且精美地運作! –

相關問題