-2
A
回答
1
尝试用ADODB连接:
Sub copyFromWs()
Dim Cnx As ADODB.Connection
Dim fileToCopy As String
Dim SheetName As String, request_SQL As String
Dim Rst As ADODB.Recordset
fileToCopy = "C:\monClasseurBase.xls" 'here you can use something like ws.data.pathname
SheetName = "Sheet1" 'Here it's your ws.Data
Set Cnx = New ADODB.Connection
'Connection
With Cnx
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & filetocopy & _
";Extended Properties=Excel 8.0;"
.Open
End With
'Request
request_SQL= "SELECT * FROM [" & SheetName & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cnx.Execute(request_SQL)
Range("A1").CopyFromRecordset Rst
'Here for you something like currentws.Data.Range("A1").CopyFromRecordset Rst
'Close
Cnx.Close
Set Cnx = Nothing
End Sub
0
此链接是伟大的,从一个封闭的工作簿中的数据复制。
https://www.rondebruin.nl/win/s3/win024.htm
或者,试试这个。
Sub ImportDatafromcloseworkbook()
'Update 20150707
Dim xWb As Workbook
Dim xAddWb As Workbook
Dim xRng1 As Range
Dim xRng2 As Range
Set xWb = Application.ActiveWorkbook
xTitleId = "KutoolsforExcel"
With Application.FileDialog(msoFileDialogOpen)
.Filters.Clear
.Filters.Add "Excel 2007-13", "*.xlsx; *.xlsm; *.xlsa"
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
Application.Workbooks.Open .SelectedItems(1)
Set xAddWb = Application.ActiveWorkbook
Set xRng1 = Application.InputBox(prompt:="Select source range", Title:=xTitleId, Default:="A1", Type:=8)
xWb.Activate
Set xRng2 = Application.InputBox(prompt:="Select destination cell", Title:=xTitleId, Default:="A1", Type:=8)
xRng1.Copy xRng2
xRng2.CurrentRegion.EntireColumn.AutoFit
xAddWb.Close False
End If
End With
End Sub
+0
该代码从打开的工作簿中复制,而不是从已关闭的工作簿中复制。 – YowE3K
相关问题
- 1. VBA - 从已关闭的Excel工作簿中检索数据
- 2. VBA将第一个工作表从关闭工作簿导入到活动工作簿
- 3. 如何从另一个工作簿中使用vba关闭工作簿
- 4. VBA“ThisWorkbook.Close”不关闭此工作簿!
- 5. Excel VBA - 从关闭的工作簿中复制整个列
- 6. Excel VBA-从外部工作簿将特定工作表导入工作簿
- 7. VBA:从包含宏的其他工作簿导入工作表
- 8. VBA:插入最大公式,关闭工作簿的引用列
- 9. Excel VBA - 从同一文件夹中的封闭工作簿导入
- 10. Before关闭VBA事件关闭工作簿取消= True时
- 11. Excel的VBA保持列表框从工作簿SOURSE关闭
- 12. VBA - 将第一张工作表从已关闭的工作簿导入到活动工作簿中的已命名工作表
- 13. 将文本文件数据导入到excel工作簿VBA
- 14. Excel VBA或函数从工作簿中提取工作簿名称和数据
- 15. 将大型数据从已关闭的工作簿复制到目标工作簿中的特定工作表
- 16. 在VBA中引用一个已关闭的工作簿的Vlookup
- 17. 通过ADO写入/更新数据以关闭Excel工作簿
- 18. 从文件夹中的所有工作簿导入数据
- 19. 使用VBA来关闭其工作簿中的单元格
- 20. 在VBA中关闭工作簿的动态引用
- 21. 已关闭的工作簿保留在VBA编辑器中
- 22. 防止工作簿关闭
- 23. COMException关闭Excel工作簿
- 24. 防止关闭工作簿
- 25. Vba打开工作簿,应用过滤器并关闭工作簿?
- 26. 运行宏时VBA工作簿Savechanges = False仍然保存并关闭工作簿
- 27. 使用VBA时,如何在不关闭所有工作簿的情况下关闭Excel工作簿?
- 28. 关闭工作簿时的VBA Excel操作
- 29. 错误438从每周关闭工作簿复制数据
- 30. Excel VBA复制并粘贴为从已关闭的工作簿中的值到活动工作簿,Mac OS X
只是好奇 - 为什么你不想打开'Ws.Data',复制表并关闭它?这是一个很好的解决方案。 – Vityata