lọc số tài khoản khách hàng

Liên hệ QC

nguyenngochaik6tin

Thành viên mới
Tham gia
3/5/11
Bài viết
4
Được thích
0
Chào mọi người em đang làm một bài tập về lọc số tài khoản của từng khách hàng ra từng cột khác nhau nhưng mà em làm mãi không ra. mọi người giúp em với. em cảm ơn
 

File đính kèm

  • Book1l..xls
    22.5 KB · Đọc: 39

File đính kèm

  • Copy of Book1l..xls
    29 KB · Đọc: 58
anh ơi em hỏi chữ dong trong hàm đấy anh đặt bằng cách nào thế
 
Chào mọi người em đang làm một bài tập về lọc số tài khoản của từng khách hàng ra từng cột khác nhau nhưng mà em làm mãi không ra. mọi người giúp em với. em cảm ơn


Ngồi rảnh làm cái này bằng VBA.
Bạn mở cửa sổ VBA, insert module rồi chép code này vào.
Rồi chỉ cần bấm lệnh cho nó chạy.

Mã:
Sub Xuan()
Dim sRng(), dRng(), Arr(), I As Long, J As Long, K As Long, Cot As Long
With Sheet1
    .Range(.[A1], .[A65000].End(xlUp)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range( _
        "F1"), Unique:=True
sRng = .Range(.[A2], .[A65000].End(xlUp)).Resize(, 2).Value
dRng = .Range(.[F2], .[F65000].End(xlUp)).Value
ReDim Arr(1 To UBound(dRng, 1), 1 To UBound(sRng, 1))
For I = 1 To UBound(dRng, 1)
    K = 0
    For J = 1 To UBound(sRng, 1)
        If sRng(J, 1) = dRng(I, 1) Then
            K = K + 1
            If Cot < K Then Cot = K
            Arr(I, K) = sRng(J, 2)
        End If
    Next J
Next I
 .[G2].Resize(I - 1, Cot).Value = Arr
End With
End Sub
 

File đính kèm

  • Loc.rar
    13.3 KB · Đọc: 27
Ngồi rảnh làm cái này bằng VBA.
Bạn mở cửa sổ VBA, insert module rồi chép code này vào.
Rồi chỉ cần bấm lệnh cho nó chạy.

Mã:
Sub Xuan()
Dim sRng(), dRng(), Arr(), I As Long, J As Long, K As Long, Cot As Long
With Sheet1
    .Range(.[A1], .[A65000].End(xlUp)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range( _
        "F1"), Unique:=True
sRng = .Range(.[A2], .[A65000].End(xlUp)).Resize(, 2).Value
dRng = .Range(.[F2], .[F65000].End(xlUp)).Value
ReDim Arr(1 To UBound(dRng, 1), 1 To UBound(sRng, 1))
For I = 1 To UBound(dRng, 1)
    K = 0
    For J = 1 To UBound(sRng, 1)
        If sRng(J, 1) = dRng(I, 1) Then
            K = K + 1
            If Cot < K Then Cot = K
            Arr(I, K) = sRng(J, 2)
        End If
    Next J
Next I
 .[G2].Resize(I - 1, Cot).Value = Arr
End With
End Sub
Mấy ô G1:I1 là mình nhập thủ công, sao hông "quất" luôn ta?
 
Hoàn thiện bài này. Code chạy êm ru.


Mã:
Sub Xuan()
Dim sRng(), dRng(), Arr(), I As Long, J As Long, K As Long, Cot As Long
With Sheet1
    .Range(.[A1], .[A65000].End(xlUp)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range( _
        "F1"), Unique:=True
sRng = .Range(.[A2], .[A65000].End(xlUp)).Resize(, 2).Value
dRng = .Range(.[F2], .[F65000].End(xlUp)).Value
ReDim Arr(1 To UBound(dRng, 1) + 1, 1 To UBound(sRng, 1))
For I = 1 To UBound(dRng, 1)
    K = 0
    For J = 1 To UBound(sRng, 1)
        If sRng(J, 1) = dRng(I, 1) Then
            K = K + 1: Arr(1, K) = "TK" & K
            If Cot < K Then Cot = K
            Arr(I + 1, K) = sRng(J, 2)
        End If
    Next J
Next I
 .[G1].Resize(I, Cot).Value = Arr
End With
End Sub
 

File đính kèm

  • Book1l..rar
    10 KB · Đọc: 35
Web KT

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

Back
Top Bottom