【问题标题】:Import excel worksheet to active sheet将 Excel 工作表导入活动工作表
【发布时间】:2017-08-31 10:18:31
【问题描述】:

我有包含大量数据的发票。我想导出和导入数据。我创建了导出特定工作表(“发票数据”)的导出 VBA。我把它保存在某个地方。现在我需要将同一个文件导入到活动工作表中。

我有这个代码

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

这段代码运行良好。但我想选择带有文件打开对话框的文件

请大家帮帮我

【问题讨论】:

  • 您没有提供任何信息,请告诉我们:您如何导出。你出口什么。导出的格式。它应该被导入并且具有相同的结构吗?你在哪里保存它和其他一切。目前你的问题只是:我如何从某物内部的某处导入某物。
  • 哦..对不起..现在让我编辑一下。

标签: vba excel import


【解决方案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)

谢谢大家

【讨论】:

    【解决方案2】:

    如果您的问题是关于..如何使用文件打开对话框..您可以使用此代码

        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  
    

    如果您想选择任何类型的文件,您可以删除过滤器

    【讨论】:

    • 它只是打开文件.. 但我需要将工作表复制到活动工作表中
    猜你喜欢
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多