2017-07-24 68 views
0

我有一個生成頁面/頁面名稱的工作簿。工作表名稱始終反映作業編號。工作號碼也總是顯示在單元格A1中。設置wbkDest.worksheets(「xxxxxxx」)以反映範圍

我想複製另一本書中的數據,並將其粘貼回此工作表中,但我需要定位要粘貼數據的頁面。我的問題是我不能說wbkDest.Worksheets("sheet1")。 我需要說一些像wbk.Dest.Worksheets(Range("a1").value)

所以再次:粘貼與工作簿中的單元格A1名稱相同的工作簿中的宏。

sub import() 
    Dim wbkSrc As Workbook, wbkDest As Workbook 
    Dim myFile As String 
    Dim Path As String 
    Dim emptyRow As Long 
    Dim wsOrig As Worksheet 
    Set wsOrig = ThisWorkbook.Worksheets(1) 

    emptyRow = 1 
    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False 

    Set wbkDest = Workbooks("lathe_project6-1-2017.xlsm") 
    Path = "G:\FIXTURES\" & Range("A1").Value & "\lists\new folder\" 
    myFile = Dir(Path & "*.xls??") 
    Set wbkSrc = Workbooks.Open(Path & myFile) 
    wbkSrc.Worksheets(1).Range("A1:I100").Copy 

    wbkDest.Worksheets(wsOrig.Range("A1").Value).Cells(emptyRow, 1).PasteSpecial Paste:=xlPasteValues 
    wbkSrc.Close 

End Sub 
+0

因此,新創建的工作表中的單元格** A1 **與該工作表的名稱匹配? –

+0

是的。在項目啓動時,經理將工作號碼輸入第一個啓動頁面。一旦輸入,它就會生成一個頁面關閉模板,並將工作號碼作爲工作表標題。工作號碼也存放在A1 –

回答

0

這是行不通的:?

Dim wskVariableSheet as worksheet 
Set wskVariableSheet = wbkDest.Sheets(Range("a1").Value) 

然後只需參考wskVariableSheet.range要粘貼的位置。

+0

當我嘗試時,我剛開始時遇到編譯錯誤。 –

+0

@mystic_muffin如果您將更多代碼粘貼到問題中,這可能會很有用。 Maaajo的代碼應該沒有任何問題,所以也許你把它放在了錯誤的位置 - 在你的代碼中包含更多的代碼,它會更容易地解釋你需要改變的東西。 – YowE3K

+0

將它添加到我原來的帖子。 –