syquyen1987
Yêu THVBA
Xin chào cả nhà, mình có vấn đề muốn hỏi: mình muốn copy dữ liệu từ file "Book1.xlsm" vào file database "File Nguon.xlsx", và mình đang thực hành bằng câu lệnh INSERT trong SQL. Và do có nhiều dòng cần copy nên mình sẽ viết code vòng lặp cho nó để gán các giá trị cho các biến và các biến này được dùng trong câu lệnh INSERT SQL trong file Book1.xlsm. Tuy nhiên có người chỉ ra là phương pháp này không hiệu quả khi cứ tương tác qua lại liên tục giữa code và Sheet. Và người đó chỉ rằng phương pháp UpdateBatch là phương pháp hiệu quả. Các bạn biết phương pháp UpdateBatch thì mình mong nhận được chia sẻ từ các bạn.
Thứ hai nữa là code của mình thêm dữ liệu vào File Nguon.xlsx. Tuy nhiên trong File Nguon.xlsx, table chứa dữ liệu không tự động mở rộng (nếu paste hoặc gõ thuần túy thì table chứa dữ liệu tự mở rộng), không biết có cách nào mà table chứa dữ liệu tự mở rộng bằng cách chạy mã code nào đó trong file Book.xlsm không?
Minh xin chân thành cảm ơn. Và mình muốn gửi 2 files excel (Book1.xlsm là file dữ liệu copy, File Nguon.xlsx là file đích để paste vào) nhưng loay hoay mà không biết gửi thế nào. Nên trước khi được hướng dẫn gửi file đính kèm, mình viết code của mình trong Book1.xlsm như dưới đây. Rất mong nhận được sự chia sẻ từ các bạn
Thứ hai nữa là code của mình thêm dữ liệu vào File Nguon.xlsx. Tuy nhiên trong File Nguon.xlsx, table chứa dữ liệu không tự động mở rộng (nếu paste hoặc gõ thuần túy thì table chứa dữ liệu tự mở rộng), không biết có cách nào mà table chứa dữ liệu tự mở rộng bằng cách chạy mã code nào đó trong file Book.xlsm không?
Minh xin chân thành cảm ơn. Và mình muốn gửi 2 files excel (Book1.xlsm là file dữ liệu copy, File Nguon.xlsx là file đích để paste vào) nhưng loay hoay mà không biết gửi thế nào. Nên trước khi được hướng dẫn gửi file đính kèm, mình viết code của mình trong Book1.xlsm như dưới đây. Rất mong nhận được sự chia sẻ từ các bạn
Mã:
Sub a()
Dim ob As ADODB.Connection
Dim sConnect As String
Dim sSQL As String
sConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & ThisWorkbook.Path & "\File Nguon.xlsx;" & _
"Extended Properties=""Excel 12.0;HDR=No;"";" 'Co the bo ;IMEX=1
Set ob = New ADODB.Connection
i = 5
ob.Open sConnect
Do While Len(Sheet1.Cells(i, 1)) > 0
q1 = Sheet1.Cells(i, 1)
q2 = Sheet1.Cells(i, 2)
Debug.Print q1, q2
sSQL = "INSERT INTO [BISMUTH_CON$] (f1,f2)" & "VALUES ('" & q1 & "', #" & q2 & "#)"
ob.Execute sSQL, , adCmdText Or adExecuteNoRecords
i = i + 1
Loop
ob.Close
Set ob = Nothing
End Sub