Lấy dữ liệu từ file excel đang đóng, sang file excel đang mở bằng ADODB (ADO)!

Liên hệ QC

Thư Sinh Áo Trắng

Thành viên hoạt động
Tham gia
26/3/21
Bài viết
160
Được thích
31
- Em xin nhờ các anh chị giúp đỡ lấy dữ liệu file excel đang đóng sang file excel đang mở bằng VBA xử dụng ADODB (ADO)
- Em có ngồi kiếm code đễ sửa chữa nhưng đa số code mở lên 1 bảng chọn file, hoặc copy địa chỉ cố định. Hai vấn đề này khiến em không thể sửa code trên mạng để dùng được
- Vì:
+ Dữ liệu em là cập nhật mới, tức là chỉ số dòng luôn tăng lên sau mỗi lần cần lấy dữ liệu => copy địa chỉ cố định là em chết rồi
+ Mỗi lần dùng code, code bắt chọn file, nếu có 600 file thì tức là 600 lần chọn => vậy em cũng chết rồi
- Xin giúp đỡ code VBA xử dụng ADO để lấy dữ liệu file đang đóng sang file đang mở, không bắt chọn file, copy(ghi) được vùng có chỉ số động( luôn tăng)
1111111111111.jpg
Em chân thành cảm ơn! Và mong được sự giúp đỡ!
(file đính kèm dang_dong, dang_mo)
 

File đính kèm

  • dang_dong.xlsm
    9.8 KB · Đọc: 34
  • dang_mo.xlsm
    9.4 KB · Đọc: 34
Dạ em gửi Code của em, cũng tham khảo ở trên diễn đàn rồi làm ạ.

Code ở File Thí nghiệm xuất vào Main

Mã:
Sub ABC()
   
    Dim wb As Workbook
    Dim Sh, Sheet As Worksheet
    Dim Path, FileName As String
    Dim LrowNguon, LrowPhu, n, n1 As Long
   
      Set wb = ThisWorkbook
      Set Sh = wb.Sheets("Sheet1")
   
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
       
          Path = "C:\Users\della\Desktop\Gom Data\"
          FileName = Dir(Path & "Main.xlsm")
          
          Do While FileName <> ""
            Set wb = Application.Workbooks.Open(Path & FileName, WriteResPassword:="QCTEV")
              For Each Sheet In wb.Sheets
                If Sheet.Name = "Data" Then
                   wb.Activate
                   LrowPhu = Sh.Range("C" & Rows.Count).End(3).Row
                  
                     For n = 85 To LrowPhu Step 1
                     LrowNguon = wb.Sheets("Data").Range("B" & Rows.Count).End(3).Row + 1
               
                       For n1 = 2 To 23
                         wb.Sheets("Data").Cells(LrowNguon, n1).Value = Sh.Cells(n, n1).Value
                       Next n1
                      
                     Next n
       
                     wb.Sheets("Data").Range("A2:W" & LrowNguon).Borders.LineStyle = 1
                     wb.Sheets("Data").Range("A2:W" & LrowNguon).Font.Name = "Times New Roman"
                     wb.Sheets("Data").Range("A2:W" & LrowNguon).Font.Size = 12
                     wb.Sheets("Data").Range("A2:W" & LrowNguon).VerticalAlignment = xlCenter
                     wb.Sheets("Data").Range("A2:W" & LrowNguon).HorizontalAlignment = xlCenter
                    
                End If
              Next Sheet
            wb.Close savechanges:=True
          FileName = Dir()
          Loop
          On Error Resume Next
        
        Application.ScreenUpdating = True
        Application.DisplayAlerts = True
       
        MsgBox ("Xong roi!")
End Sub
Bạn có thể qua link sau tham khảo thêm ... tùy chỉnh và chỉ sử dụng còn ko học được gì từ code cả ... nếu có thì cũng chút chút thôi
 
Upvote 0
Bạn có thể qua link sau tham khảo thêm ... tùy chỉnh và chỉ sử dụng còn ko học được gì từ code cả ... nếu có thì cũng chút chút thôi

Em cảm thầy nhiều ạ.
 
Upvote 0
Lúc trước em cũng hay thao tác với file CSV, lấy dữ liệu từ máy đo VMM, e hay dùng CMD, nhưng không biết có chứa được "hàng khủng" hay không, do không có nhu cầu cao vậy.
1645169636613.png
 
Upvote 0
Web KT

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

Back
Top Bottom