2015-01-13 99 views
0

我有兩個Excel表。 xlVlookupSheet是一個工作表名稱,而xlShtCmdb是另一個用於複製列數據的工作表。運行時錯誤1004 Microsoft Excel無法將數據粘貼到excel vba

我收到以下錯誤: -

Runtime error 1004 Microsoft excel cannot paste the data- 

它是在下面for loop第二次迭代的到來。 addressCols是一個包含要複製的列名稱的數組。

For index = UBound(addressCols) To 0 Step -1 
     xlVlookupSheet.Columns("A:A").Insert xlToLeft 
     xlShtCmdb.Columns(addressCols(index) & ":" & addressCols(index)).Copy 
     xlVlookupSheet.Activate 
     xlVlookupSheet.Select 
     xlVlookupSheet.Range("A1").Select 
     Selection.PasteSpecial Paste:=xlPasteValues 
    Next 
+0

隨着在'addressCols'中正確分配了一個列字母數組,這段代碼按預期運行。您可能在數組的* rank *中犯了錯誤,或者如果從工作表範圍讀取數組,則需要進行轉置。我還建議將循環內的最後4行合併爲'xlVlookupSheet.Range(「A1」)。PasteSpecial Paste:= xlPasteValues'。 – Jeeped

+0

我用上面的代碼替換了最後四行,但同樣的錯誤 – Amit

回答

0

問題是,我從那裏複製那個Excel表單包含33767樣式。它將不會從源複製到目的地,如果樣式將超過3000.因此,我刪除了樣式並製作了簡單的普通表單並且它工作正常。

您可以通過下面的代碼獲得活動工作簿樣式的數量: -

activeworkbook.styles.count

欲瞭解更多信息,可以去下面的鏈接: -

http://www.think-cell.com/en/support/kb/0156.shtml