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

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vuvo_nhenhang

Thành viên mới
Tham gia
8/9/22
Bài viết
18
Được thích
0
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 đó.

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ị.

1675845635193.png
 

File đính kèm

  • File_Kết quả_v1.xlsm
    13.7 KB · Đọc: 13
  • Data.xlsx
    11.2 KB · Đọc: 9
  • 1675845471536.png
    1675845471536.png
    172.2 KB · Đọc: 11
Rất dễ hình dung và dễ làm nhưng không hiểu sao 1 phần tư ngày mà chẳng thấy ai làm :D --=0
 
Upvote 0
Hay là bạn thử gởi file có dữ liệu thật lên xem sao. File giả lập kiểu này giống như đánh đố anh em GPE
 
Upvote 0
Hay là bạn thử gởi file có dữ liệu thật lên xem sao. File giả lập kiểu này giống như đánh đố anh em GPE
Chào anh,

Ý 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.
 
Upvote 0
Chào anh,

Ý 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.
Không có file thật thì không ai code cho bạn đâu nhé. Không ai muốn đoán ý của bạn đâu
 
Upvote 0
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 đó.

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ị.

View attachment 286222
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é.
Mã:
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
 
Upvote 0
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é.
Mã:
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?


Mã:
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.
 
Upvote 0
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 ạ?
 
Upvote 0
Web KT

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

Back
Top Bottom