1

可能重复:
excel 宏:浏览 excel 文件并使用其工作表数据

总之,我想写一个脚本可以做到这一点。在当前的excel文件中,有一个宏按钮。用户可以单击按钮来浏览文件(另一个 Excel)。在该浏览的 Excel 中,几个工作表将加载到当前 Excel 工作簿中,并且将使用数据。我这样写

Sub Button1_Click()     ' choose LOAD path

    objFile = Application.GetOpenFilename(fileFilter:="All Files (* . *) , * . * ")   ' browse function

    ...    ' following

    Call main_function
End Sub

我已经写了浏览功能。但是如何写以下部分?例如。objFile 中特定工作表的数据将在 main_function 中使用。

4

1 回答 1

2

虽然你想要的不是很清楚(我不确定我是否理解你的问题的意图),但我会对此有所了解。

假设您有要在 objFile 中打开的文件的名称,您可以像这样从该电子表格中提取数据 - 我只是打开选定的工作簿,然后将其中所有工作表的名称写入 A 列在按下按钮之前打开的任何工作表中。

打开一个新工作簿会导致它被带到前台 - 所以如果我在打开一本新书之前没有抓住活动工作表,然后在打开新工作簿后设置它,你最终会覆盖你刚刚在工作簿中的数据打开。

Sub Button1_Click()
    ' choose LOAD path
    objFile = Application.GetOpenFilename(fileFilter:="All Files (* . *) , * . * ")   ' browse function

    Set curSheet = ActiveSheet
    Set mWorkbook = Workbooks.Open(objFile)
    curSheet.Activate

    Call someFunction(curSheet, mWorkbook)
End Sub


Sub someFunction(targetSheet, srcWorkbook)
    numSheets = srcWorkbook.Sheets.Count
    For i = 1 To numSheets
        targetSheet.Cells(i, 1) = srcWorkbook.Sheets(i).Name
    Next i
End Sub
于 2012-09-12T07:18:58.407 回答