Code mở file data từ 1 folder và copy dữ liệu sang file kết quả

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Chào anh/chị,

Em có file data có nhiều cột (ví dụ file data đính kèm), em muốn hỏi 2 đoạn code để:
1. Khi click thì chọn file data, và copy dữ liệu từ Dòng thứ 2 đến hết dòng có dữ liệu và paste vào sheet KQ_1, paste từ dòng thứ 2, trong sheet đó.
2. Khi click thì chọn file data, và copy dữ liệu từ Dòng thứ 2 đến hết dòng có dữ liệu và paste vào sheet KQ_2, paste từ dòng thứ 2, trong sheet đó.
Ý em là muốn copy và paste value từ file data sang file kết quả.
Lấy từ dòng thứ 2 ở sheets 1 bên file data sang đó, vì dòng 1 là dòng tiêu để, lấy sang rồi tách làm 2 sheets.
Dòng số 2 ở hình ảnh đính kèm, em đang chú thích đó là lấy từ cột nào bên file data, có thể do em mô tả hơi rối a.

Trong file kết quả em đã chú thích, ví dụ: Sheet KQ_1, cột A, cột này lấy dữ liệu từ cột B của file data ở trên.

Cảm ơn anh/chị.

3097

Làm cho bạn cái kết quả 1, cái còn lại bạn tuỳ biến từ cái kết quả 1 mà dùng nhé.

Sub TrichLocKQ1_HLMT()
    Dim strSQL As String
    strSQL = "Select F2,F7,F8,F16,F20,F23,F24,F25,F28,F27,F30,F21,F39,F40 From [Sheet1$A2:AX]"
    With CreateObject("ADODB.Recordset")
        .Open (strSQL), "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "Data.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""
        Sheet2.Range("A4").CopyFromRecordset .DataSource
    End With
End Sub

Em search và thêm đoạn chọn file, thế này có bị sai gì không a?

Sub TrichLocKQ1_HLMT()

Dim FilePath As String

' Use the Application.GetOpenFilename method to select a file
    FilePath = Application.GetOpenFilename

' Check if the user cancelled the file selection
    If FilePath = "False" Then
        MsgBox "No file selected."
        Exit Sub
    End If

' Assign the file path to a variable
    Dim SelectedFile As String
    SelectedFile = FilePath

' Do something with the selected file
    MsgBox "The selected file path is: " & SelectedFile

Dim strSQL As String
    strSQL = "Select F2,F7,F8,F16,F20,F23,F24,F25,F28,F27,F30,F21,F39,F40 From [Sheet1$A2:AX]"
    With CreateObject("ADODB.Recordset")
        .Open (strSQL), "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FilePath & ";Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""
        Sheet2.Range("A2").CopyFromRecordset .DataSource
    End With

End Sub

Cảm ơn anh.
Em đã chỉnh sửa và chạy trên máy bàn ở công ty (máy chạy Window) được rồi, nhưng máy cá nhân (Macbook) thì báo lỗi ở dòng With CreateObject("ADODB.Recordset").

Code trên có cách nào chạy được trên Mac không ạ?

www.giaiphapexcel.com/diendan/threads/code-m%E1%BB%9F-file-data-t%E1%BB%AB-1-folder-v%C3%A0-copy-d%E1%BB%AF-li%E1%BB%87u-sang-file-k%E1%BA%BFt-qu%E1%BA%A3.163974/#post-1094470

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm