Giúp em tách dữ liệu thành nhiều sheets theo điều kiện (1 người xem)

  • Thread starter Thread starter nvtnet
  • Ngày gửi Ngày gửi
Liên hệ QC

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

nvtnet

Thành viên thường trực
Tham gia
31/5/11
Bài viết
269
Được thích
15
Em có 1 sheets dữ liệu, em muốn lọc và tách dữ liệu từ sheet này vào các sheets đã có mẫu sẵn. mong được mọi người giúp đỡ ạ.
 

File đính kèm

Em có 1 sheets dữ liệu, em muốn lọc và tách dữ liệu từ sheet này vào các sheets đã có mẫu sẵn. mong được mọi người giúp đỡ ạ.
Theo yêu cầu của bạn, code cho loc dữ liệu Sheets("SONG"):
PHP:
  Dim a(), b(), i&, k%, LR, j%
    With Sheets("DL")
        a = .Range("B2", .Range("B65000").End(3)).Resize(, 11).Value
        LR = UBound(a)
    End With
    ReDim b(1 To LR, 1 To 11)
    With Sheets("DL")
        For i = 1 To LR
            If a(i, 3) <> Empty And a(i, 11) = "s" & ChrW(7889) & "ng" Then
                k = k + 1: b(k, 1) = k
                b(k, 2) = a(i, 1): b(k, 3) = a(i, 2): b(k, 4) = a(i, 3): b(k, 10) = a(i, 9)
                b(k, 11) = a(i, 10)
            End If
        Next i
        Sheets("SONG").Range("A12:K140").ClearContents
        If k Then
            With Sheets("SONG")
                .Range("A12").Resize(k, 11) = b
                .Rows(k + 12 & ":140").Hidden = True
            End With
        End If
    End With
 
cái này là tạo nút lệnh, hay copy trực tiếp vào VBA của sheets "song" vậy bác
Bài đã được tự động gộp:

Theo yêu cầu của bạn, code cho loc dữ liệu Sheets("SONG"):
PHP:
  Dim a(), b(), i&, k%, LR, j%
    With Sheets("DL")
        a = .Range("B2", .Range("B65000").End(3)).Resize(, 11).Value
        LR = UBound(a)
    End With
    ReDim b(1 To LR, 1 To 11)
    With Sheets("DL")
        For i = 1 To LR
            If a(i, 3) <> Empty And a(i, 11) = "s" & ChrW(7889) & "ng" Then
                k = k + 1: b(k, 1) = k
                b(k, 2) = a(i, 1): b(k, 3) = a(i, 2): b(k, 4) = a(i, 3): b(k, 10) = a(i, 9)
                b(k, 11) = a(i, 10)
            End If
        Next i
        Sheets("SONG").Range("A12:K140").ClearContents
        If k Then
            With Sheets("SONG")
                .Range("A12").Resize(k, 11) = b
                .Rows(k + 12 & ":140").Hidden = True
            End With
        End If
    End With
nếu được bác làm trên file cả các sheets còn lại, rồi cho em xin đc không ạ. em tưởng đơn giản, chứ thế này chắc em không vận dụng được híc. cảm ơn bác nhiều ạ
 
Lần chỉnh sửa cuối:
Giúp em với ạ
 
mình làm rồi nhưng không được
Bài đã được tự động gộp:

khi chạy nó không hiện tên module , bảng module trống không
Thử copy sub này chay coi
Mã:
Sub ABC ()
  Dim a(), b(), i&, k%, LR, j%
    With Sheets("DL")
        a = .Range("B2", .Range("B65000").End(3)).Resize(, 11).Value
        LR = UBound(a)
    End With
    ReDim b(1 To LR, 1 To 11)
    With Sheets("DL")
        For i = 1 To LR
            If a(i, 3) <> Empty And a(i, 11) = "s" & ChrW(7889) & "ng" Then
                k = k + 1: b(k, 1) = k
                b(k, 2) = a(i, 1): b(k, 3) = a(i, 2): b(k, 4) = a(i, 3): b(k, 10) = a(i, 9)
                b(k, 11) = a(i, 10)
            End If
        Next i
        Sheets("SONG").Range("A12:K140").ClearContents
        If k Then
            With Sheets("SONG")
                .Range("A12").Resize(k, 11) = b
                .Rows(k + 12 & ":140").Hidden = True
            End With
        End If
    End With
End sub
 
.
 
Lần chỉnh sửa cuối:
cảm ơn các bác, em làm được rồi ạ, mới quen VBA nên còn hơi kém.
 
@syquyen1987
bác có thể chỉnh để ẩn đi các dòng mà số lượng bằng 0 ở các sheets con được không ạ
Bài đã được tự động gộp:

Bạn đang muốn nhờ ai thế. Nhờ thớt hay 1 trong những người trong này vậy
Em mới quen VBA nên không hiểu lắm, nên lúc đầu chưa biết là tạo nút lệnh để nhập code, em cứ đi tạo module nên nó không chạy.
có điều code này lọc bị thiếu trường, vi dụ đồ sống có 15 mã chẳng hạn thì nó chỉ lọc đc 13 mã
 
Lần chỉnh sửa cuối:
em cũng muốn tách theo tên khách hàng mà làm theo mãi không được, ai giúp em với ạ
 

File đính kèm

Lần chỉnh sửa cuối:
Lần chỉnh sửa cuối:
Bạn chưa sửa các từ viết tắt "e, đc, vs, k"
Bài đã được tự động gộp:


Trong file của bạn đâu là dữ liệu gốc, đâu là kết quả mong muốn nhỉ?
dữ liệu mình nhập 1 số hàng làm mẫu, còn kết quả là mình muốn tách thành nhiều file con mỗi file là 1 khách hàng khác nhau
 
dữ liệu mình nhập 1 số hàng làm mẫu, còn kết quả là mình muốn tách thành nhiều file con mỗi file là 1 khách hàng khác nhau
Chủ đề của bài này là: "Giúp em tách dữ liệu thành nhiều sheets theo điều kiện".
Vậy bạn phải lập một chủ đề mới vào box: "Lập trình", nếu không sẽ vi phạm nội quy diễn đàn bạn nhé.
 
Web KT

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

Back
Top Bottom