2014-01-08 71 views
0

我必須從一個工作表中workbook1在同一workbook1複製並粘貼特定的列到另一個工作表,或者它可能是workbook2也。我的意思是我想動態選擇源工作簿和工作表,以及目標工作簿和工作表。我必須能夠動態選擇我想要複製的列。動態選擇簿和工作表

我已經試過這樣:

Dim thisWb As Workbook 
Dim destWb As String 
Dim destSheet As Worksheet, FromSheet As Worksheet 
Dim FromBook As String 


Set thisWb = ThisWorkbook 
Set destSheet = thisWb.ActiveSheet 

FromBook = Application.GetOpenFilename 
If FromBook = "False" Then Exit Sub 

destWb = Application.GetOpenFilename 
Workbooks.Open Filename:=destWb 
Set FromSheet = destWb.Worksheets("Sheet1") 

Set sourcecolumn = Workbooks("FromBook").Worksheets("sheet1").Columns("A") 
Set targetcolumn = Workbooks("destWb").Worksheets("sheet2").Columns("B") 
sourcecolumn.Copy Destination:=targetcolumn 

有一個 「無效符」 編譯時錯誤和destwb突出顯示在這條線: 設置FromSheet = destwb.Worksheets( 「工作表Sheet1」)

我已經嘗試過使用靜態工作簿,工作表,列名和它的工作原理。

Dim sourcecolumn As Range, targetcolumn As Range 
    Set sourcecolumn = Workbooks("Book1.xlsm").Worksheets("sheet1").Columns("A") 
    Set targetcolumn = Workbooks("Book1.xlsm").Worksheets("sheet2").Columns("B") 
    sourcecolumn.Copy Destination:=targetcolumn 

的問題是我要選擇的工作簿,工作表和列動態...

+1

請顯示你已經嘗試過。在沒有看到你的代碼的情況下,很難說出你想要達到的目標。 –

+0

感謝您的回覆....讓我清楚...我想從工作簿中的工作表複製列到其他工作簿中的某些工作表.so我想選擇工作簿,工作表和我想要的列動態複製和粘貼...任何幫助將不勝感激 – user3172566

+0

好的,所以你已經嘗試過這樣做。有什麼具體問題嗎?不要強迫我們猜測。 –

回答

0

。在你的變量聲明某種混亂。在出現該錯誤的行上,您試圖將Worbook對象引用分配給String變量。這不起作用,因爲它們是兩種不同的數據類型。

這是一個修復程序。我評論,我改變了線路:

Dim pthFromBook As String 
Dim pthDestWb As String ' to store the path of the workbook file 
Dim thisWb As Workbook 
Dim destWb As Workbook ' to store reference to workbook object 
Dim destSheet As Worksheet, FromSheet As Worksheet 

Set thisWb = ThisWorkbook 
Set destSheet = thisWb.ActiveSheet 

pthFromBook = Application.GetOpenFilename 
If pthFromBook = "False" Then Exit Sub 

pthDestWb = Application.GetOpenFilename ' first get the path 
Set destWb = Workbooks.Open(pthDestWb) ' then open the workbook 
Set FromSheet = destWb.Worksheets("Sheet1") 

最後,我不知道這是否是一個錯字,但上面的最後一行,似乎是從和目的地張/工作簿之間的一些混亂......

+0

你可以請給我提供完整的代碼..我不是能夠進一步進行......工作簿打開了..然後如何動態地選擇工作表和列? – user3172566

+0

這是一個新問題。請接受這個答案,使用左邊的複選標記,如果你覺得它有用(我認爲它是因爲它解決了你最初的問題),然後在這個新問題上提出一個新問題。 –