Trích lọc Dữ liệu

Liên hệ QC

phihndhsp

Thành viên gạo cội
Tham gia
26/12/09
Bài viết
3,363
Được thích
2,488
Giới tính
Nam
Nghề nghiệp
Giáo Viên
Tôi có 1 bảng dữ liệu từ sheet Han muc, và tôi muốn lọc dữ liệu sheet Han muc sang sheet Liet ke tai san the chap va no nhưng trong file mà không biết cách nào lọc xin được các cao thủ giúp đỡ, có thể sử dụng công thức hoặc VBA cho bài này cũng được, xin cảm ơn
 

File đính kèm

Tôi có 1 bảng dữ liệu từ sheet Han muc, và tôi muốn lọc dữ liệu sheet Han muc sang sheet Liet ke tai san the chap va no nhưng trong file mà không biết cách nào lọc xin được các cao thủ giúp đỡ, có thể sử dụng công thức hoặc VBA cho bài này cũng được, xin cảm ơn
Diễn đạt lại yêu cầu nha:
1/ Nếu chọn bank thì căn cứ cột C sh Hanmuc mà lấy toàn bộ theo tên gán vào cột B và tổng hạng mức gán vào cột C
2/ Cột D và E là lấy chi tiết từ cột K sh Hanmuc (tên ts và giá thế chấp)
Và TS thế chấp nhiều nhất là 7, nhằm mục đích lấy cột cuối.
Nếu đúng vậy thì sẽ làm cho nhanh.
Làm đại cho bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Tôi có 1 bảng dữ liệu từ sheet Han muc, và tôi muốn lọc dữ liệu sheet Han muc sang sheet Liet ke tai san the chap va no nhưng trong file mà không biết cách nào lọc xin được các cao thủ giúp đỡ, có thể sử dụng công thức hoặc VBA cho bài này cũng được, xin cảm ơn
Nếu bạn chắc chắn cấu trúc dữ liệu thật là y chang với file đính kèm thì tôi.. làm đại thế này:
PHP:
Sub Main()
  Dim sArray, Arr(), tmp1, tmp2, tmp3, tmp4
  Dim lR As Long, lC As Long, n As Long
  On Error Resume Next
  sArray = Sheets("Han muc").Range("C5").Resize(10000, 22).Value
  ReDim Arr(1 To 10000, 1 To 4)
  For lR = 1 To UBound(sArray, 1)
    tmp1 = sArray(lR, 1)
    If Len(CStr(tmp1)) Then
      tmp2 = sArray(lR, 6)
      n = n + 1
      Arr(n, 1) = tmp1
      Arr(n, 2) = tmp2
      For lC = 9 To 21 Step 2
        tmp3 = sArray(lR, lC)
        If Len(CStr(tmp3)) Then
          tmp4 = sArray(lR, lC + 1)
          Arr(n, 3) = tmp3
          Arr(n, 4) = tmp4
          n = n + 1
        End If
      Next
      n = n - 1
    End If
  Next
  With Sheets("Liet ke tai san the chap va no")
    If n Then .Range("B4").Resize(n, 4).Value = Arr
  End With
End Sub
Thí nghiệm xem! Có gì ta bàn tiếp
 
Nếu bạn chắc chắn cấu trúc dữ liệu thật là y chang với file đính kèm thì tôi.. làm đại thế này:
PHP:
Sub Main()
  Dim sArray, Arr(), tmp1, tmp2, tmp3, tmp4
  Dim lR As Long, lC As Long, n As Long
  On Error Resume Next
  sArray = Sheets("Han muc").Range("C5").Resize(10000, 22).Value
  ReDim Arr(1 To 10000, 1 To 4)
  For lR = 1 To UBound(sArray, 1)
    tmp1 = sArray(lR, 1)
    If Len(CStr(tmp1)) Then
      tmp2 = sArray(lR, 6)
      n = n + 1
      Arr(n, 1) = tmp1
      Arr(n, 2) = tmp2
      For lC = 9 To 21 Step 2
        tmp3 = sArray(lR, lC)
        If Len(CStr(tmp3)) Then
          tmp4 = sArray(lR, lC + 1)
          Arr(n, 3) = tmp3
          Arr(n, 4) = tmp4
          n = n + 1
        End If
      Next

      n = n - 1
    End If
  Next
  With Sheets("Liet ke tai san the chap va no")
    If n Then .Range("B4").Resize(n, 4).Value = Arr
  End With
End Sub
Thí nghiệm xem! Có gì ta bàn tiếp
Em thấy code chạy tốt, em có thay đỗi tí cấu trúc nhưng không lớn lắm, em thấy code chạy rất chuẩn, hôm nào có trục trặc gì em sẽ gởi lên diễn đàn để bàn tiếp, xin cảm ơn anh nhiều
 
Em thấy code chạy tốt, em có thay đỗi tí cấu trúc nhưng không lớn lắm, em thấy code chạy rất chuẩn, hôm nào có trục trặc gì em sẽ gởi lên diễn đàn để bàn tiếp, xin cảm ơn anh nhiều

Trong code còn thiếu phần định dạng, bạn tự làm nhé (còn không thì sẽ làm luôn nếu có 1 yêu cầu mới khác nữa)
 
Nhờ các Mod, SMod xoá giùm bài này.
Lý do: không muốn trao đổi riêng trên GPE.
Xin Cảm ơn.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom