2017-08-31 97 views
0

我有許多數據的發票。我想導出和導入數據。我創建了導出特定工作表(「發票數據」)的導出VBA。我已將它保存在某個地方。現在我需要將相同的文件導入到活動工作表中。將excel工作表導入活動工作表

我有這樣的代碼

Dim WB As Workbook 
Dim SourceWB As Workbook 
Dim WS As Worksheet 
Dim ASheet As Worksheet 

'Turns off screenupdating and events: 
Application.ScreenUpdating = False 
Application.EnableEvents = False 

'Sets the variables: 
Set WB = ActiveWorkbook 
Set ASheet = ActiveSheet 
Set SourceWB = Workbooks.Open(WB.Path & "\1.xlsx") 'Modify to match 

'Copies each sheet of the SourceWB to the end of original wb: 
For Each WS In SourceWB.Worksheets 
    WS.Copy after:=WB.Sheets(WB.Sheets.Count) 
Next WS 

    SourceWB.Close savechanges:=False 
    Set WS = Nothing 
    Set SourceWB = Nothing 

WB.Activate 
ASheet.Select 
    Set ASheet = Nothing 
    Set WB = Nothing 

Application.EnableEvents = True 

此代碼工作得很好。但我想選擇與打開文件對話框的文件

任何人幫助我,請

+0

您沒有提供任何信息,請告訴我們:您如何導出。你出口什麼?導出的格式。它應該被導入並具有相同的結構嗎?你在哪裏保存它和其他一切。目前你的問題只是:如何從某個東西的某處導入某些東西。 – Doomenik

+0

哦..對不起..現在讓我編輯。 –

回答

0

,如果你的問題是關於..如何使用打開文件對話框..你可以使用此代碼

NewWorkbook = Application.GetOpenFilename(_ 
      FileFilter:="Excel 2003 (*.xls),*.xls,Excel 2007 (*.xlsx),*.xlsx,Excel 2007 (*.xlsm),*.xlsm", _ 
      Title:="Select an Excel File", _ 
      MultiSelect:=File) 
    If NewWorkbook = False Then 
     Exit Sub 
    Else 
     Workbooks.Open Filename:=NewWorkbook 
    End If 

如果你想選擇任何類型的文件

+0

它只是打開文件..但我需要將表格複製到活動工作表 –

1

終於找到了代碼,你可以刪除過濾....

Dim wbk1 As Workbook, wbk2 As Workbook 

fileStr = Application.GetOpenFilename() 

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

wbk2.Sheets("invoice data").Copy After:=wbk1.Sheets(1) 

謝謝各位