2012-09-26 129 views
0

團隊單元格值的,複製從一個工作簿到另一個

是新來的Excel宏,並試圖小區E15的數值從工作簿名稱九月複製到另一個工作簿的名稱格式的D15,但無法用下面的代碼做這件事。 請幫我

我用下面的代碼來做到這一點。

Sub COPYCELL() 
Dim wbk As Workbook 
strFirstFile = "c:\documents and Settings\msivas\Desktop\James\September.xls" 
strSecondFile = "c:\documents and Settings\msivas\Desktop\James\Format.xls" 
Set wbk = Workbooks.Open(strFirstFile) 
With wbk.Sheets("Summary") 
Range("E15").Copy 
End With 
Set wbk = Workbooks.Open(strSecondFile) 
With wbk.Sheets("sheet1") 
Range("D12").PasteSpecial Paste:=xlPasteAll 
End With 
End Sub 

我收到一個錯誤,無法知道。

+0

什麼是錯誤您收到? –

+1

使用'Option Explicit'強制你聲明你的變量。我會將您的文件位置定義爲字符串,爲包含和目標工作簿使用單獨的變量,並且如果使用'With',則需要在任何行的前面放置一個「。」。 '.range(「E15」)複製' –

+0

AM接收到一個說明「Error 400」 –

回答

3

嘗試此更新。通過不回收wbk變量,您將避免問題。

Sub COPYCELL() 
Dim wbkOrg As Workbook, wbkDest as workbook 
dim strFirstFile as string, strSecondFile as string 

strFirstFile = "c:\documents and Settings\msivas\Desktop\James\September.xls" 
strSecondFile = "c:\documents and Settings\msivas\Desktop\James\Format.xls" 

Set wbkOrg = Workbooks.Open(strFirstFile) 
Set wbkDest = Workbooks.Open(strSecondFile) 

wbkOrg.Sheets("Summary").Range("E15").Copy wbkDest.Sheets("sheet1").Range("D12") 

End Sub 
+0

使用更新的代碼後,它沒有顯示任何錯誤,並且在目標列爲空且光標在E15中顯示列本身。 –

+0

你在wbkOrg.Sheets(「Summary」)中有什麼?範圍(「E15」)?如果您沒有任何東西,則不會複製到D12。 – nutsch

+0

彙總表中有E15範圍內有5000個數據 –

0

按我的意見,這對我的作品:

Option Explicit 
Sub COPYCELL() 
    Dim wbk1 As Workbook, wbk2 As Workbook 
    Dim strFirstfile As String, strSecondFile As String 

strFirstfile = "c:\documents and Settings\msivas\Desktop\James\September.xls" 
strSecondFile = "c:\documents and Settings\msivas\Desktop\James\Format.xls" 

    Set wbk1 = Workbooks.Open(strFirstfile) 

    Set wbk2 = Workbooks.Open(strSecondFile) 

    With wbk1.Sheets("Summary") 
     .Range("E15").Copy 
    End With 

    With wbk2.Sheets("sheet1") 
     .Range("D12").PasteSpecial Paste:=xlPasteAll 
    End With 
End Sub 
+0

目標列空白,數據未顯示,使用上述代碼後甚至沒有錯誤 –

+0

正在複製的原始單元格中的內容? –

+0

data like value(5000) –

相關問題