Lấy dữ liệu bằng vba

Liên hệ QC

tuan16

Thành viên thường trực
Tham gia
28/11/13
Bài viết
285
Được thích
18
Hiện tại em có file excell sau ạ. Các ô chứa dữ liệu đang ở các vị trí cách quãng nhau và không theo quy luật ạ. Em muốn lấy các dữ liệu như em trình bày trong file ạ. Em có dùng công thức mảng để làm được nhưng file bị nặng. Em xin nhờ các anh chị trên diễn đàn viết giúp em đoạn code để em lấy được dữ liệu như mong muốn ạ.
 

File đính kèm

  • gpe5.xlsx
    8.5 KB · Đọc: 32
chính xác luôn ạ. bác giỏi quá
Cách khác này:
PHP:
    Application.ScreenUpdating = False
    Sheets("ket qua").UsedRange.Clear
    With Sheets("dau vao").[A8].CurrentRegion
        .AutoFilter 2, "<> "
        .Columns("C").Copy Sheets("ket qua").[D8]
        .AutoFilter
    End With
    Application.ScreenUpdating = True
 
Lần chỉnh sửa cuối:
Upvote 0
Cách khác này:
PHP:
Sub Test()
    Application.ScreenUpdating = False
    Sheets("ket qua").UsedRange.Clear
    With Sheets("dau vao").[A8].CurrentRegion
        .AutoFilter 2, "<> "
        .Columns("C").Copy Sheets("ket qua").[D8]
        .AutoFilter
    End With
    Application.ScreenUpdating = True
End Sub
AutoFilter 2.. dòng này có ý nghĩa gì ạ
 
Upvote 0
Em có bài toán tương tự chủ thớt và xin áp dụng đoạn code của bác nhưng báo lỗi ạ. em xin nhờ các chỉnh sửa giúp em với ạ
Thử code sau:
Mã:
Sub CopyHai()
    With Sheet1.Range("A8")
    .AutoFilter Field:=2, Criteria1:="<>"
    .CurrentRegion.SpecialCells(xlCellTypeVisible).Copy Sheet2.Range("D8")
    .AutoFilter
    End With
End Sub
 

File đính kèm

  • nhờ gpe 2.xls
    47 KB · Đọc: 5
Upvote 0
em xin nhờ thêm 1 lần nữa ạ. Khi dữ liệu bố trí như này thì đoạn code của bác sửa sẽ như nào. Bác cho em xin thêm với ạ. Để em so sánh 2 đoạn code với nhau. Sau có thay đổi gì em có thể tự thay đổi được với ạ
 

File đính kèm

  • nhờ gpea.xlsm
    15.1 KB · Đọc: 4
Upvote 0
em xin nhờ thêm 1 lần nữa ạ. Khi dữ liệu bố trí như này thì đoạn code của bác sửa sẽ như nào. Bác cho em xin thêm với ạ. Để em so sánh 2 đoạn code với nhau. Sau có thay đổi gì em có thể tự thay đổi được với ạ
Thử xem:
PHP:
    Dim a(), b(), i&, k%, LR
    With Sheets("dau vao")
        a = .Range("E8", .Range("E100000").End(3)).Resize(, 5).Value: LR = UBound(a)
    End With
    ReDim b(1 To LR, 1 To 1)
    With Sheets("dau vao")
        For i = 1 To LR
            If IsDate(a(i, 5)) <> Empty Then
                k = k + 1: b(k, 1) = a(i, 4)
            End If
        Next i
        If k Then
            With Sheets("ket qua")
                .Range("D8:D100").ClearContents
                .Range("D8").Resize(k) = b
            End With
        End If
    End With
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom