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ã
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ã
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