Trích xuất dữ liệu theo điều kiện ngày tháng (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

thienquan2410

Thành viên mới
Tham gia
30/8/16
Bài viết
6
Được thích
0
Chào các bạn,

Mình có 1 đề bài yêu cầu trích xuất dữ liệu theo ngày tháng từ 1 nguồn cố định. Cụ thể như sau:
Trong file nén mình có để 2 file sample, trong đó dữ liệu nguồn là file Database-Sample. File cần trích xuất dữ liệu là file RP-Sample với các field cần trích xuất. Cụ thể như sau:

- Ràng buộc trích xuất dữ liệu theo ngày lập (ô T2 trong file Database-Sample): từ ngày 01/02/2016 đến ngày 31/05/2016
- Khi nhập điều kiện ngày lập, tự động trích dữ liệu tương ứng từ file Database-Sample theo các cột tương ứng trong file RP-Sample

Nhờ các bạn code giúp với. Cám ơn rất nhiều...!!!
 

File đính kèm

Chào các bạn,

Mình có 1 đề bài yêu cầu trích xuất dữ liệu theo ngày tháng từ 1 nguồn cố định. Cụ thể như sau:
Trong file nén mình có để 2 file sample, trong đó dữ liệu nguồn là file Database-Sample. File cần trích xuất dữ liệu là file RP-Sample với các field cần trích xuất. Cụ thể như sau:

- Ràng buộc trích xuất dữ liệu theo ngày lập (ô T2 trong file Database-Sample): từ ngày 01/02/2016 đến ngày 31/05/2016
- Khi nhập điều kiện ngày lập, tự động trích dữ liệu tương ứng từ file Database-Sample theo các cột tương ứng trong file RP-Sample

Nhờ các bạn code giúp với. Cám ơn rất nhiều...!!!
Bạn thử File này xem có đúng không
 

File đính kèm

Để 2 file cùng 1 folder. Code cho File Sample, File dữ liệu không cần mở. Chạy code thì có kết quả...
Mã:
Public Sub GPE()
Dim cn As Object, Ax As String, Bx As String
Dim rs As Object, TuN As Date, DeN As Date
TuN = [B2].Value: DeN = [C2].Value
Range("B5:K2000").ClearContents
If Application.Version < 12 Then
    Ax = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    Bx = ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
Else
    Ax = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
    Bx = ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
End If
Set cn = CreateObject("ADODB.Connection")
cn.Open (Ax & ThisWorkbook.Path & "\Database-sample.xlsx" & Bx)
    Set rs = cn.Execute("Select f5,f22,f1,f2,f29,f33,f27,f26,f28,f25 From [Sheet1$A2:AP] Where f1 is not null and int(f20) >=#" & _
    TuN & "# And int(f20)<=#" & DeN & "#")
    If Not rs.EOF Then [B5].CopyFromRecordset rs
cn.Close
Set cn = Nothing
Set rs = Nothing
End Sub

Cảm ơn bạn,

Code này chạy ok, nhưng có 1 vấn đề về phiên bản của Excel. Như trong code này thì nếu sử dụng office 2016 chạy code sẽ báo lỗi, bạn có thể giúp mình code lại chỗ version đc ko? sao cho chạy đc trên excel 2016 luôn. Mình ko rành về VBA nên thử sửa version trong code này từ 12 thành 16 thì ko chạy macro đc. Giúp mình xíu nhé. Cảm ơn.
 
Web KT

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

Back
Top Bottom