Xin giúp đỡ về cách Ghi dữ liệu vào file khác đang đóng bằng ADO

Liên hệ QC

Cuongneu1993

Thành viên mới
Tham gia
25/8/22
Bài viết
13
Được thích
4
Giới tính
Nam
Xin chào các thầy cô/anh chị,
Em muốn tham khảo cách ghi dữ liệu từ 1 file đang mở vào 1 file đang đóng bằng ADO. Hiện tại em đang ghi dữ liệu vào
file khác bằng cách mở 2 file cùng lúc, tuy nhiên khá bất tiện.
Đây là đoạn mã hiện tại em đang sử dụng, em muốn ghi mảng "myArr" tại file "Money_Cal.xlsm" vào file "Money_data.xlsx" đang đóng qua phương thức ADO, mong được mọi người giúp đỡ sửa lại đoạn mã :D

Mã:
Sub saveData()
    Dim source1, source2, myArr
    Dim i, k, lastRow, moneyLeft As Long
    Dim ws As Worksheet
    
    Set ws = Workbooks("Money_data.xlsx").Sheets("Data")
    lastRow = ws.Range("C99999").End(xlUp).Row
    moneyLeft = ws.Range("F" & lastRow).Value
    source1 = moneyIn.Range("B6:D" & moneyIn.Range("C99999").End(xlUp).Row).Value
    source2 = moneyOut.Range("B6:D" & moneyOut.Range("C99999").End(xlUp).Row).Value
    ReDim myArr(1 To 9999, 1 To 6)
    
    For i = 1 To UBound(source1)
        k = k + 1
        moneyLeft = moneyLeft + source1(i, 3)
        myArr(k, 1) = source1(i, 1)
        myArr(k, 2) = source1(i, 2)
        myArr(k, 3) = source1(i, 3)
        
        myArr(k, 5) = moneyLeft
        myArr(k, 6) = Format(Now(), "dd/mm/yyyy hh:mm")
    Next i
    For i = 1 To UBound(source2)
        k = k + 1
        moneyLeft = moneyLeft - source2(i, 3)
        myArr(k, 1) = source2(i, 1)
        myArr(k, 2) = source2(i, 2)
        
        myArr(k, 4) = source2(i, 3)
        myArr(k, 5) = moneyLeft
        myArr(k, 6) = Format(Now(), "dd/mm/yyyy hh:mm")
    Next i
    
    ws.Range("B" & lastRow + 1).Resize(k, 6).Value = myArr
    MsgBox "Done!"
End Sub
 

File đính kèm

  • Money_Cal.xlsm
    20.9 KB · Đọc: 2
  • Money_data.xlsx
    12.9 KB · Đọc: 2
Web KT

Bài viết mới nhất

Back
Top Bottom