我想将已打开的Excel实例中的数据复制到VBA中的另一个Excel实例.我试过了:
Option Explicit
Sub copy_paste()
Dim destination_sanitized As String
Dim fs As New FileSystemObject
destination_sanitized = fs.BuildPath("c:\temp\", "1.xlsx")
Dim xl As New Excel.Application
Dim wb As Workbook
Set wb = xl.Workbooks.Open(Filename:=destination_sanitized)
Dim r1 As Range
Dim r2 As Range
Set r1 = ThisWorkbook.Sheets("hidden").Range("E10:E13")
Set r2 = wb.Sheets("Sheet1").Range("J20:J23")
On Error GoTo Cleanup
r1.Copy r2
Cleanup:
wb.Close SaveChanges:=False
Set xl = Nothing
MsgBox Err.Number & ": " & Err.description
End Sub
Run Code Online (Sandbox Code Playgroud)
我得到运行时错误'1004':Range类的复制方法失败
如何将已打开的Excel实例中的数据复制到VBA中的另一个Excel实例?
当他们是同一个实例的一部分时,我理解如何做到这一点.在这种特殊情况下,我需要将两个工作簿放在不同的实例中.我还需要做一个完整的副本(数据验证,公式,值,格式等),所以r2.Value = r1.Value是不够的.
我有一张有200行的纸张,其间有一些空白.
我不能使用End(xlDown)
或End(xlUp)
获取整个范围,因为有空行.
如何复制到列中包含数据的最后一个范围?
另外,我不想复制标题.
请建议我如何在Excel VBA中执行此操作.
我Sheet 1
在Excel中有一些列.我需要通过匹配Access和Excel中的列标题将数据导入Access.以同样的方式,我想将多个Excel文件导入Access,根据Access中的列(字段)将数据附加到现有表.
这甚至可能吗?如果是这样,我该怎么做呢?