Tôi muốn sao chép dữ liệu từ một cá thể Excel đã mở sang một phiên bản Excel khác trong VBA. Tôi cố gắng:Làm cách nào để sao chép giữa hai phiên bản Excel đang mở trong VBA?
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
tôi nhận Run-time error '1004': Sao chép phương pháp của lớp Dải thất bại
Làm thế nào tôi có thể sao chép dữ liệu từ một đã mở thể hiện của Excel để một ví dụ Excel trong VBA?
Tôi hiểu cách thực hiện việc này khi chúng là một phần của cùng một trường hợp. Trong trường hợp cụ thể này, tôi cần hai sổ làm việc trong các trường hợp riêng biệt. Tôi cũng cần phải làm một bản sao đầy đủ (xác nhận dữ liệu, công thức, giá trị, định dạng, vv), do đó r2.Value = r1.Value sẽ không đủ.
bởi "Tuy nhiên tôi đang sử dụng ít nhất 10 điểm vượt trội cùng một lúc", bạn có nghĩa là bạn có 10 sổ làm việc mở trong một phiên bản Excel hoặc mười cá thể riêng lẻ không? – brettdj
Khi sự cố của bạn được giải quyết, Chấp nhận một số câu trả lời hơn chúng tôi sẽ cố gắng đề xuất một số mã số – niko
Không có câu trả lời được đề xuất nào thực sự giải quyết được sự cố. Câu hỏi đặt ra là sao chép và dán giữa các cá thể ứng dụng. Các câu trả lời được đề xuất là để sao chép giữa các sổ làm việc khác nhau mở trong cùng một cá thể ứng dụng. –