2013-05-15 256 views
0

我正在處理一個小型項目,我需要從其他工作簿中工作表的任何外部數據庫將工作表添加到當前打開的工作簿。我做了一個表格來導入當前打開(活動)工作簿中所需的任何工作表。這些工作表將從遠程(在任何其他文件夾中,但在同一臺計算機上)工作簿中複製。我正在使用以下代碼,但由於未知原因,工作表未被複制到當前工作簿中。緊急幫助表示讚賞。複製外部工作表到當前工作簿,Excel VBA

Dim wb As Workbook 
Dim activeWB As Workbook 
Dim FilePath As String 
Dim oWS  As String 
Set activeWB = Application.ActiveWorkbook 

FilePath = "D:\General Required Docs\DATA.xlsm" 

If optFirst.Value = True Then 
    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False 
    On Error Resume Next 
    oWS = cboMaterial.Value 
    Set wb = Application.Workbooks.Open(FilePath) 
    wb.Worksheets(oWS).Copy  
    After:=Application.ActiveWorkbook.Sheets(ThisWorkbook.Sheets.count) 
    activeWB.Activate 
    wb.Close False 

    Application.ScreenUpdating = True 
    Application.DisplayAlerts = True 

回答

2

變化

wb.Worksheets(oWS).Copy  
    After:=Application.ActiveWorkbook.Sheets(ThisWorkbook.Sheets.count) 

wb.Worksheets(oWS).Copy  
    After:=activeWB.Sheets(activeWB.Sheets.count) 

假設OWS是要複製工作表的索引。

+0

哇,這就是所謂的「工作就像一個魅力」.......非常感謝你「Ripster」 –

+0

不錯!不知道這一點,謝謝......有什麼方法可以改變名稱? – Ch32k0

0
Sub Add_Bridge_1() 
    Dim wbk1 As Workbook, wbk2 As Workbook 

    'add your own file path 
    fileStr = "C:\Program Files\Microsoft Office\Office\HL DDS Templates.xlsx" 

    Set wbk1 = ActiveWorkbook 
    Set wbk2 = Workbooks.Add(fileStr) 

    'wbk2.Sheets("Bridge 1").Copy After:=Workbooks("WorkbookNameYouCopyCodeInto").Sheets(1) 
    wbk2.Sheets("Sheet Name").Copy After:=wbk1.Sheets(1) 
    wbk2.Saved = True 
End Sub 
相關問題