问题描述
我目前有 4 个目标工作簿和一个单独的主 Excel 工作簿。在主 Excel 工作簿中,我目前已经创建了 4 个按钮和 4 个工作表(工作表 1、工作表 2、工作表 3 等)。
每个按钮都分配了一个不同的宏,每个宏都会提示用户选择一个目标工作簿并将数据粘贴到特定工作表中。 (例如,宏 1 将选择目标工作簿 1 并粘贴到工作表 1,宏 2 将选择目标工作簿 2 并粘贴到工作表 2 中,等等)。单个宏的 VBA 代码如下:
Sub Get_Data_From_File()
Dim FiletoOpen As Variant
Dim OpenBook As Workbook
Application.ScreenUpdating = False
FiletoOpen = Application.GetopenFilename(Title:="browse for Sales file & import range",FileFilter:="Excel Files (*.xls*),*xls*")
If FiletoOpen <> False Then
Set OpenBook = Application.Workbooks.Open(FiletoOpen)
Set wsIn = OpenBook.Worksheets("Sales balances")
Dim endRow As Long
endRow = wsIn.Cells(wsIn.Rows.Count,"A").End(xlUp).Row
Dim endColumn As Long
endColumn = wsIn.Cells("5",wsIn.Columns.Count).End(xlToLeft).Column
Dim r As Range
Set r = wsIn.Range(Cells(5,1),Cells(endRow,endColumn))
r.copy
ThisWorkbook.Worksheets("Sheet 1").Range("A1").PasteSpecial xlPasteValues
OpenBook.Close False
End If
Application.ScreenUpdating = True
End Sub
''' 如何修改此代码,以便我只需要 1 个宏来提示用户选择多个目标工作簿,然后执行复制/粘贴到目标工作簿的工作表中?我希望它打开目标工作簿 1,复制数据,将数据粘贴到主工作簿的“工作表 1”中,关闭目标工作簿 1,然后转到目标工作簿 2。
此外,如果目标工作簿比主 Excel 中的现有工作表多,是否可以构建创建新工作表的代码。例如,我目前在 Master Excel 中有 4 个工作表,但如果我从 5 个目标工作簿复制数据,我需要创建一个额外的工作表。
非常感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)