【发布时间】:2015-01-19 23:54:18
【问题描述】:
我有一个工作簿(Excel 2003 格式),其中的数据在三张纸中连续流动。我想在一个新工作簿(Excel 2010)中创建一个宏,其中前一个工作簿中所有三个工作表中的所有这些数据将一个接一个地粘贴到我的新工作簿的一个工作表中。我希望宏打开一个对话框来浏览实际存在数据的文件。谁能帮帮我?
在搜索时,我发现了如下所示的内容。但这不是我想要的。
Sub Open_Workbook()
Dim myFile As String
myFile = Application.GetOpenFilename _
(Title:="Please choose a file to open", _
FileFilter:="Excel Files .xls (.xls),")
If myFile = False Then
MsgBox "No file selected.", vbExclamation, "Sorry!"
Exit Sub
Else
Workbooks.Open Filename:=myFile
End If
End Sub
【问题讨论】:
-
如果您展示到目前为止您尝试过的内容,我们更愿意?
-
在搜索时,我发现了如下所示的内容。但这不是我想要的。
-
Sub Open_Workbook() Dim myFile As String myFile = Application.GetOpenFilename _ (Title:="请选择要打开的文件", _ FileFilter:="Excel Files .xls (.xls),") If myFile = False Then MsgBox "No file selected.", vbExclamation, "Sorry!" Exit Sub Else Workbooks.Open Filename:=myFile End If End Sub
-
为了将来参考,您可以使用代码修改您的问题,而不是放在评论中。打开文件后,您将需要复制内容。您将数据具体放在哪里,从哪里来,就像在工作表名称中一样?另外,你知道这 3 张纸总是一样的吗?如果是这样,您不需要对话框来要求打开文件。这意味着,如果工作簿的名称中有某些内容,例如日期,或者与编译数据的主簿相匹配,您可以通过这种方式派生名称。