【问题标题】:Read data from other Excel file after opening the Excel file打开 Excel 文件后从其他 Excel 文件中读取数据
【发布时间】:2017-04-06 06:11:26
【问题描述】:

我正在尝试打开一个 Excel 文件并将其数据复制到我的其他工作簿。我能够通过文件对话框打开文件。我想如何将数据复制到 Excel 工作表上?

Sub selectfile()
    Dim strFileToOpen As String
    Dim i As Integer
    Dim count As Integer

    strFileToOpen = Application.GetOpenFilename _
                    (Title:="Please choose a file to open", _
                    FileFilter:="Excel Files *.xls* (*.xls*),")
    If strFileToOpen = False Then
        MsgBox "No file selected.", vbExclamation, "Sorry!"
        Exit Sub
    Else
        Workbooks.Open Filename:=strFileToOpen
    End If
End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:
     Option Explicit
    
     Sub selectfile()
     Dim strFileToOpen As String
     Dim i As Integer
     Dim count As Integer
    
     strFileToOpen = Application.GetOpenFilename _
     (Title:="Please choose a file to open", _
     FileFilter:="Excel Files *.xls* (*.xls*),")   
     If strFileToOpen = False Then
     MsgBox "No file selected.", vbExclamation, "Sorry!"
    Exit Sub
    Else
    Workbooks.Open Filename:=strFileToOpen
    'HERE
    activesheet.name = "Copy Sheet"
    Sheets("Copy Sheet").Range("A1:" & Sheets("Copy Sheet").SpecialCells(xlCellTypeLastCell).Address).Copy Destination:=Sheets("ENTER YOUR SHEET NAME HERE").Range("A1")
    End If
    End Sub
    

    【讨论】:

    • 您需要注意工作表名称 - 在这种情况下,您要复制的工作表是您刚刚复制的工作表,而目标工作表是“在此处输入您的工作表名称"。
    • 有多种方法,我会推荐 Ron De Bruin 的任何方法 - rondebruin.nl/win/s3/win001.htm
    • 您没有正确放置行,您在打开工作簿之前尝试复制。此行需要在Workbooks.Open Filename:=strFileToOpen 之后
    • 我不知道文件名,因为它是用户自己通过文件对话框选择的
    • @RachelChia 如果你不知道文件名,那么在你上传工作表的时候,输入 - activesheet.name = "Copy sheet" ...
    猜你喜欢
    • 2012-10-05
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2019-01-05
    • 2021-12-21
    • 1970-01-01
    相关资源
    最近更新 更多