Lọc dữ liệu thành báo cáo thu gọn (1 người xem)

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

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

toangm

Thành viên mới
Tham gia
17/4/08
Bài viết
32
Được thích
7
Nhờ các anh chị giúp em code VBA để lọc dữ liệu từ một bảng theo IDSub rồi tạo thành báo cáo thu gọn bằng VBA với!picVBA.png
 

File đính kèm

File đính kèm

Em chạy code nếu thêm 5 mã IDSub giống nhau thì chương trình bị lỗi. Anh giúp em xử lý lỗi này với!View attachment 262587
Chỉnh code
Mã:
Sub LOC()
  Dim Arr(), KQ(), aCol, idSub$, tong#, i&, j&, t&
 
  With Sheets("Data")
    Arr = .Range("A3:N" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
  End With
  ReDim KQ(1 To UBound(Arr) + 2, 1 To 9)
  aCol = Array(, , 2, 3, 4, 5, 8, 9, 14)
  With Sheets("rptBKTGT")
    idSub = .Range("B2").Value
    For i = 1 To UBound(Arr)
      If Arr(i, 1) = idSub Then
        t = t + 1
        KQ(t, 1) = t
        For j = 2 To 8
          KQ(t, j) = Arr(i, aCol(j))
        Next j
        If KQ(t, 4) = Empty Then KQ(t, 4) = Arr(i, 6)
        tong = tong + Arr(i, 5)
      End If
    Next
    KQ(t + 1, 2) = .Range("J1").Value:    KQ(t + 1, 5) = tong
    KQ(t + 2, 2) = .Range("J2").Value:    KQ(t + 2, 5) = .Range("J3").Value
    i = .Cells(Rows.Count, 2).End(xlUp).Row
    If i > 3 Then .Range("A4:H" & i).Clear
    If t > 0 Then
      .Range("D4").Resize(t).NumberFormat = "@"
      .Range("F4").Resize(t, 2).NumberFormat = "@"
      .Range("A4").Resize(t + 2, 8) = KQ
      .Range("A4").Resize(t + 1, 8).Borders.LineStyle = 1
    End If
  End With
  MsgBox "Xong"
End Sub
 

File đính kèm

  • Screenshot (11).png
    Screenshot (11).png
    333.2 KB · Đọc: 7
Em muốn nhờ giúp thêm code VBA để thêm một tùy chọn nữa để tổng hợp tạo thành đoạn văn bản như dưới. Em xin cảm ơn!
PicTH.png
 

File đính kèm

File đính kèm

Web KT

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

Back
Top Bottom