Hoàng Tuyên
Thành viên mới

- Tham gia
- 10/6/08
- Bài viết
- 39
- Được thích
- 4
Mã:
Sub FindBC()
Dim rng, rng1, rng2, strFind As String
Dim iRow, r, p As Integer
Dim c(1 To 17), b(1 To 17) As Currency
Dim s1, s2 As Currency
Dim ws As Worksheet
Set ws = Worksheets("BC_Cty")
Sheets("HOSO").Select
LstDsKH1.Clear
For p = 0 To 16
c(p + 1) = 0
b(p + 1) = 0
rng2 = "$A$4"
rng = ""
strFind = "HTA.D" & Format(p + 1, "00")
Do
rng1 = Columns("A:A").Find(What:=strFind, After:=Range(rng2)).Address
If Err.Number > 0 Or rng1 = rng Then
Exit Do
End If
rng2 = rng1
If rng = "" Then rng = rng1
If r <> Range(rng1).Row And Range(rng1).Row > 3 Then
r = Range(rng1).Row
c(p + 1) = c(p + 1) + 1
b(p + 1) = b(p + 1) + Cells(r, 72)
End If
Loop
LstDsKH1.AddItem Format(p + 1, "00")
LstDsKH1.List(p, 1) = strFind
LstDsKH1.List(p, 2) = c(p + 1)
LstDsKH1.List(p, 3) = Format(b(p + 1), "#,##0")
Next
End Sub
Không hiểu sao em chạy đoạn code này thì trong sheet "BC_Cty" chỉ có số liệu khi p=0.
Khi p tăng lên 1 tới 16 thì LstDsKH1.List(p, 2) và LstDsKH1.List(p, 2) bằng 0.
Em nhờ các thầy chỉ giúp em lỗi ở đâu ạ.
Em cảm ơn các thầy.
Lần chỉnh sửa cuối: