copy dữ liệu sang file excel đang đóng

momo101194

Thành viên mới
Tham gia ngày
1 Tháng sáu 2020
Bài viết
34
Được thích
5
Điểm
15
Tuổi
25
Mã:
Sub test()
 
  Dim wb1 As Workbook
  Workbooks.Open ThisWorkbook.Path & "C:\Users\user1\Desktop\copy.xlsx"
  Set wb1 = ActiveWorkbook
 
  wb1.Worksheets("Sheet1").Range("A1:C4") = _
  ThisWorkbook.Worksheets("Sheet1").Range("A1:C4")
 

  Application.DisplayAlerts = False
  wb1.Close
  Application.DisplayAlerts = True
 
End Sub
Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call test
End Sub
Xin chào các anh chị diễn đàn ah!
Em muốn sau khi đóng file a .Thì nội dung của sheet1 trong file a ,sẽ đuợc lưu vào file b đang đóng ah.
Em viết như thế này như không đúng ah,Mong các anh chị xem giúp ah.
 

File đính kèm

syquyen1987

Thành viên chính thức
Tham gia ngày
8 Tháng bảy 2018
Bài viết
81
Được thích
32
Điểm
170
Tuổi
32
Mã:
Sub test()

  Dim wb1 As Workbook
  Workbooks.Open ThisWorkbook.Path & "C:\Users\user1\Desktop\copy.xlsx"
  Set wb1 = ActiveWorkbook

  wb1.Worksheets("Sheet1").Range("A1:C4") = _
  ThisWorkbook.Worksheets("Sheet1").Range("A1:C4")


  Application.DisplayAlerts = False
  wb1.Close
  Application.DisplayAlerts = True

End Sub
Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call test
End Sub
Xin chào các anh chị diễn đàn ah!
Em muốn sau khi đóng file a .Thì nội dung của sheet1 trong file a ,sẽ đuợc lưu vào file b đang đóng ah.
Em viết như thế này như không đúng ah,Mong các anh chị xem giúp ah.
Bạn nói " sẽ được lưu vào file b đang đóng", nhưng code của bạn lại có Workbooks.Open... thì có nghĩa là file b được mở rồi copy dữ liệu => mâu thuẫn. Nếu lưu vào file b đang đóng thì bạn dùng ADO. Ví dụ thế này. Nếu file b của bạn có tới 10 MB, code của bạn đang dùng khi mở file b lên sẽ mất khoảng vài chục giây và khi đóng lại cũng mất khoảng vài giây. Nếu bạn dùng ADO để nạp dữ liệu vào file b thì bạn chỉ mất khoảng 1-2 giây thôi.
 

momo101194

Thành viên mới
Tham gia ngày
1 Tháng sáu 2020
Bài viết
34
Được thích
5
Điểm
15
Tuổi
25
Bạn nói " sẽ được lưu vào file b đang đóng", nhưng code của bạn lại có Workbooks.Open... thì có nghĩa là file b được mở rồi copy dữ liệu => mâu thuẫn. Nếu lưu vào file b đang đóng thì bạn dùng ADO. Ví dụ thế này. Nếu file b của bạn có tới 10 MB, code của bạn đang dùng khi mở file b lên sẽ mất khoảng vài chục giây và khi đóng lại cũng mất khoảng vài giây. Nếu bạn dùng ADO để nạp dữ liệu vào file b thì bạn chỉ mất khoảng 1-2 giây thôi.
Ado em khhong lành lắm ah.Anh có thể viết giúp em để em tham khảo với ah.
Em cảm ơn @syquyen1987
 
Top Bottom