通过窗体上的按钮实现选择打开任意一个excel文件并将数据复制到当前文件中,运行后提示 要求对象
Private Sub Shipments_Click()
Dim filename As String
Dim filename1 As String
Dim sourceworkbook As Workbook
Dim targetworkbook As Workbook
Dim sourcewooksheet As Worksheet
Dim targetwooksheet As Worksheet
Dim sourcerange As Range
Dim targetrange As Range
Set filename1 = app.ActiveWorkbook.FullName
'打开目标工作簿 **调试点在此处报错
Set targetworkbook = Workbooks(filename1)
'设置目标工作表
Set targetwooksheet = targetworkbook.Sheets("shipments")
'清空目标工作表原始内容
targetwooksheet.Cells.ClearContents
'选择要打开的文件
filename = Application.GetOpenFilename(, , "打开文件")
If filename <> "False" Then
'打开源工作簿
Set sourceworkbook = Workbooks.Open(filename)
'设置源工作表
Set sourcewooksheet = sourceworkbook.Sheets("Data")
'设置源范围和目标范围
Set sourcerange = sourcewooksheet.Range("A1:GD1000")
Set targetrange = targetwooksheet.Range("A1")
'将数据从打开的工作簿中复制到当前工作簿中
sourcerange.Copy targetrange
'关闭打开的工作簿
sourceworkbook.Close Savechanges:=False
targetworkbook.Save
Else
MsgBox "你未选择文件,程序即将退出!"
End If
End Sub