Xin giúp đỡ về cách Ghi dữ liệu vào file khác đang đóng bằng ADO (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

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

Web KT

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

Back
Top Bottom