Đếm số lượng những ô No Fill và những ô Fill Color

Liên hệ QC

zPeterPan

Thành viên hoạt động
Tham gia
27/2/21
Bài viết
154
Được thích
10
Em chào các Thầy cô và anh chị em trên diễn đàn.
Em có file dữ liệu muốn đếm số lượng những ô "No Fill" và " Fill Color" của 1 hàng trong " Sheet1" và kết quả đếm sẽ chuyển sang "Sheet2". Những ô nào được "Fill Color" mặc định sẽ là "0" ạ. . . ( dữ liệu của "Sheet1" có thể hơn 10000 dòng và hơn 1000 cột ạ và chuyển sang " Sheet2" số cột sẽ bằng số dòng của "Sheet1" ạ). . .
Em ví dụ sơ bộ vài dòng để mọi người dễ hình dung vấn đề ạ:
Dữ liệu của "Sheet1" sẽ đếm những ô " No Fill" và "Fill Color" của từng dòng( A1 đến khoảng A10000)
1.JPG
Dữ liệu kết quả sẽ chuyển sang "Sheet2" và những ô nào được "Fill Color" màu đỏ sẽ bằng "0" và những đoạn "No Fill" và đến số lượng những ô "No Fill" của từng đoạn. . .
2.JPG
Nhờ mọi người giúp em với ạ. . . em xin cảm ơn ạ. . .
 

File đính kèm

  • DemSoLan.xlsb
    26.9 KB · Đọc: 15
Lần chỉnh sửa cuối:
Em chào các Thầy cô và anh chị em trên diễn đàn.
Em có file dữ liệu muốn đếm số lượng những ô "No Fill" và " Fill Color" của 1 hàng trong " Sheet1" và kết quả đếm sẽ chuyển sang "Sheet2". Những ô nào được "Fill Color" mặc định sẽ là "0" ạ. . . ( dữ liệu của "Sheet1" có thể hơn 10000 dòng và hơn 1000 cột ạ và chuyển sang " Sheet2" số cột sẽ bằng số dòng của "Sheet1" ạ). . .
Em ví dụ sơ bộ vài dòng để mọi người dễ hình dung vấn đề ạ:
Dữ liệu của "Sheet1" sẽ đếm những ô " No Fill" và "Fill Color" của từng dòng( A1 đến khoảng A10000)
View attachment 265462
Dữ liệu kết quả sẽ chuyển sang "Sheet2" và những ô nào được "Fill Color" màu đỏ sẽ bằng "0". . .
View attachment 265463
Nhờ mọi người giúp em với ạ. . . em xin cảm ơn ạ. . .
Bạn giải thích sao ra kết quả cột A1 xem? Đọc mà không hiểu
 
Upvote 0
Bạn giải thích sao ra kết quả cột A1 xem? Đọc mà không hiểu
kết quả của cột A1 là tại dòng A1 của "Sheet1" có 5 ô" No Fill", tiếp là ô " Fill Color" là 0, tiếp là 1 ô "No Fill", tiếp là ô "Fill Color" là 0, tiếp là ô "Fill Color" là 0, tiếp theo là 11 ô "No Fill". . . . .
 
Upvote 0
Em chào các Thầy cô và anh chị em trên diễn đàn.
Em có file dữ liệu muốn đếm số lượng những ô "No Fill" và " Fill Color" của 1 hàng trong " Sheet1" và kết quả đếm sẽ chuyển sang "Sheet2". Những ô nào được "Fill Color" mặc định sẽ là "0" ạ. . . ( dữ liệu của "Sheet1" có thể hơn 10000 dòng và hơn 1000 cột ạ và chuyển sang " Sheet2" số cột sẽ bằng số dòng của "Sheet1" ạ). . .
Em ví dụ sơ bộ vài dòng để mọi người dễ hình dung vấn đề ạ:
Dữ liệu của "Sheet1" sẽ đếm những ô " No Fill" và "Fill Color" của từng dòng( A1 đến khoảng A10000)
View attachment 265462
Dữ liệu kết quả sẽ chuyển sang "Sheet2" và những ô nào được "Fill Color" màu đỏ sẽ bằng "0" và những đoạn "No Fill" và đến số lượng những ô "No Fill" của từng đoạn. . .
View attachment 265463
Nhờ mọi người giúp em với ạ. . . em xin cảm ơn ạ. . .
Đoán đại, sai đâu sửa đó
Mã:
Option Explicit

Sub dem()
Dim Nguon As Range
Dim Cll As Range
Dim Csd, gsD
Dim Kq
Dim rws, cls
Dim i, j, k, t

Sheet1.AutoFilterMode = False
Set Nguon = Sheet1.Range("A2:AV25")
rws = Nguon.Rows.Count
cls = Nguon.Columns.Count
gsD = 1
ReDim Csd(1 To rws, 1 To cls)
Nguon.AutoFilter
For j = cls To 2 Step -1
    Nguon.AutoFilter Field:=j, Operator:=xlFilterNoFill
    For Each Cll In Nguon.Columns(j).SpecialCells(xlCellTypeVisible)
        i = Cll.Row
        If i > gsD Then Csd(i - gsD, j) = 1
    Next Cll
    Nguon.AutoFilter Field:=j
Next j
Sheet1.AutoFilterMode = False

ReDim Kq(1 To cls + 1, 1 To rws)
For i = 2 To UBound(Csd)
    Kq(1, i - 1) = Nguon(i, 1)
    k = 1
    t = 0
    For j = 2 To UBound(Csd, 2)
        If Csd(i, j) = 1 Then
            t = t + 1
        Else
            If t > 0 Then
                k = k + 1
                Kq(k, i - 1) = t
            End If
            k = k + 1
            Kq(k, i - 1) = 0
            t = 0
        End If
    Next j
Next i
With Sheet2
    .UsedRange.Clear
    .Range("A4").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End With
End Sub
 
Upvote 0
Đoán đại, sai đâu sửa đó
Mã:
Option Explicit

Sub dem()
Dim Nguon As Range
Dim Cll As Range
Dim Csd, gsD
Dim Kq
Dim rws, cls
Dim i, j, k, t

Sheet1.AutoFilterMode = False
Set Nguon = Sheet1.Range("A2:AV25")
rws = Nguon.Rows.Count
cls = Nguon.Columns.Count
gsD = 1
ReDim Csd(1 To rws, 1 To cls)
Nguon.AutoFilter
For j = cls To 2 Step -1
    Nguon.AutoFilter Field:=j, Operator:=xlFilterNoFill
    For Each Cll In Nguon.Columns(j).SpecialCells(xlCellTypeVisible)
        i = Cll.Row
        If i > gsD Then Csd(i - gsD, j) = 1
    Next Cll
    Nguon.AutoFilter Field:=j
Next j
Sheet1.AutoFilterMode = False

ReDim Kq(1 To cls + 1, 1 To rws)
For i = 2 To UBound(Csd)
    Kq(1, i - 1) = Nguon(i, 1)
    k = 1
    t = 0
    For j = 2 To UBound(Csd, 2)
        If Csd(i, j) = 1 Then
            t = t + 1
        Else
            If t > 0 Then
                k = k + 1
                Kq(k, i - 1) = t
            End If
            k = k + 1
            Kq(k, i - 1) = 0
            t = 0
        End If
    Next j
Next i
With Sheet2
    .UsedRange.Clear
    .Range("A4").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End With
End Sub
Cảm ơn bác. . . code chỉ đúng khi ô cuối cùng của dòng " Fill Color" còn những dòng "No fill" sẽ bị sai ạ
 
Upvote 0
Em chào các Thầy cô và anh chị em trên diễn đàn.
Em có file dữ liệu muốn đếm số lượng những ô "No Fill" và " Fill Color" của 1 hàng trong " Sheet1" và kết quả đếm sẽ chuyển sang "Sheet2". Những ô nào được "Fill Color" mặc định sẽ là "0" ạ. . . ( dữ liệu của "Sheet1" có thể hơn 10000 dòng và hơn 1000 cột ạ và chuyển sang " Sheet2" số cột sẽ bằng số dòng của "Sheet1" ạ). . .
Em ví dụ sơ bộ vài dòng để mọi người dễ hình dung vấn đề ạ:
Dữ liệu của "Sheet1" sẽ đếm những ô " No Fill" và "Fill Color" của từng dòng( A1 đến khoảng A10000)
View attachment 265462
Dữ liệu kết quả sẽ chuyển sang "Sheet2" và những ô nào được "Fill Color" màu đỏ sẽ bằng "0" và những đoạn "No Fill" và đến số lượng những ô "No Fill" của từng đoạn. . .
View attachment 265463
Nhờ mọi người giúp em với ạ. . . em xin cảm ơn ạ. . .
Góp vui bằng code củ chuối của nông dân thứ thiệt.
Kết quả trả về đang để ở Sheet3.
Mã:
Sub XYZ()
Dim i&, j&, Lr&
Dim Arr As Range
Dim KQ()
With Sheet1
Lr = .Cells(Rows.Count, 1).End(xlUp).Row
col = .Cells(3, Columns.Count).End(xlToLeft).Column
ReDim KQ(1 To col + 1, 1 To Lr + 1)

For i = 3 To Lr
mCol = 0: T = 0
    For j = 1 To col
    Set Arr = .Range(.Cells(3, j), .Cells(Lr, j))
        mCol = DemMau(Arr, .[A1]) 'UBound(Arr, 2)
        KQ(j, i - 2) = .Cells(i, j) 'Arr(i, j)
        If .Cells(i, j).Interior.Color <> .Cells(1, 2).Interior.Color Then
        T = T + 1
        KQ(j, i - 2) = 0
        End If
        KQ(1, Lr + 1) = "T" & ChrW(7893) & "ng s" & ChrW(7889) & " ô có màu"
        KQ(j, Lr + 1) = mCol
        KQ(j + 1, 1) = "T" & ChrW(7893) & "ng s" & ChrW(7889) & " ô có màu"
        KQ(j + 1, i - 2) = T
       
    Next j
Next i
End With
Sheet3.[A3].Resize(j + 100, i + 100).ClearContents
Sheet3.[A3].Resize(j, i) = KQ
End Sub
Hy vọng được đọc các bài khác có cách giải quyết đề bài nhanh và gọn hơn.
 

File đính kèm

  • DemSoLan.xlsb
    27.1 KB · Đọc: 8
Upvote 0
Cảm ơn bác. . . code chỉ đúng khi ô cuối cùng của dòng " Fill Color" còn những dòng "No fill" sẽ bị sai ạ
Chắc có lẽ là thế này
Mã:
Option Explicit

Sub dem()
Dim Nguon As Range
Dim Cll As Range
Dim Csd, gsD
Dim Kq
Dim rws, cls
Dim i, j, k, t

Sheet1.AutoFilterMode = False
Set Nguon = Sheet1.Range("A2:AV25")
rws = Nguon.Rows.Count
cls = Nguon.Columns.Count
gsD = 1
ReDim Csd(1 To rws, 1 To cls)
Nguon.AutoFilter
For j = cls To 2 Step -1
    Nguon.AutoFilter Field:=j, Operator:=xlFilterNoFill
    For Each Cll In Nguon.Columns(j).SpecialCells(xlCellTypeVisible)
        i = Cll.Row
        If i > gsD Then Csd(i - gsD, j) = 1
    Next Cll
    Nguon.AutoFilter Field:=j
Next j
Sheet1.AutoFilterMode = False

ReDim Kq(1 To cls + 1, 1 To rws)
For i = 2 To UBound(Csd)
    Kq(1, i - 1) = Nguon(i, 1)
    k = 1
    t = 1
    For j = 2 To UBound(Csd, 2)
        If Csd(i, j) = 1 Then
            If t = 1 Then
                k = k + 1
                t = 0
            End If
            Kq(k, i - 1) = Kq(k, i - 1) + 1
        Else
            k = k + 1
            Kq(k, i - 1) = 0
            t = 1
        End If
    Next j
Next i
With Sheet2
    .UsedRange.Clear
    .Range("A4").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End With
End Sub
 
Upvote 0
Góp vui bằng code củ chuối của nông dân thứ thiệt.
Kết quả trả về đang để ở Sheet3.
Mã:
Sub XYZ()
Dim i&, j&, Lr&
Dim Arr As Range
Dim KQ()
With Sheet1
Lr = .Cells(Rows.Count, 1).End(xlUp).Row
col = .Cells(3, Columns.Count).End(xlToLeft).Column
ReDim KQ(1 To col + 1, 1 To Lr + 1)

For i = 3 To Lr
mCol = 0: T = 0
    For j = 1 To col
    Set Arr = .Range(.Cells(3, j), .Cells(Lr, j))
        mCol = DemMau(Arr, .[A1]) 'UBound(Arr, 2)
        KQ(j, i - 2) = .Cells(i, j) 'Arr(i, j)
        If .Cells(i, j).Interior.Color <> .Cells(1, 2).Interior.Color Then
        T = T + 1
        KQ(j, i - 2) = 0
        End If
        KQ(1, Lr + 1) = "T" & ChrW(7893) & "ng s" & ChrW(7889) & " ô có màu"
        KQ(j, Lr + 1) = mCol
        KQ(j + 1, 1) = "T" & ChrW(7893) & "ng s" & ChrW(7889) & " ô có màu"
        KQ(j + 1, i - 2) = T
      
    Next j
Next i
End With
Sheet3.[A3].Resize(j + 100, i + 100).ClearContents
Sheet3.[A3].Resize(j, i) = KQ
End Sub
Hy vọng được đọc các bài khác có cách giải quyết đề bài nhanh và gọn hơn.
Cảm ơn bác nhưng mà nội dung kết quả không phải như vậy ạ. . . Func trong file là để kiểm tra xem có bao nhiêu ô "Fill Color" ạ
Bài đã được tự động gộp:

Chắc có lẽ là thế này
Mã:
Option Explicit

Sub dem()
Dim Nguon As Range
Dim Cll As Range
Dim Csd, gsD
Dim Kq
Dim rws, cls
Dim i, j, k, t

Sheet1.AutoFilterMode = False
Set Nguon = Sheet1.Range("A2:AV25")
rws = Nguon.Rows.Count
cls = Nguon.Columns.Count
gsD = 1
ReDim Csd(1 To rws, 1 To cls)
Nguon.AutoFilter
For j = cls To 2 Step -1
    Nguon.AutoFilter Field:=j, Operator:=xlFilterNoFill
    For Each Cll In Nguon.Columns(j).SpecialCells(xlCellTypeVisible)
        i = Cll.Row
        If i > gsD Then Csd(i - gsD, j) = 1
    Next Cll
    Nguon.AutoFilter Field:=j
Next j
Sheet1.AutoFilterMode = False

ReDim Kq(1 To cls + 1, 1 To rws)
For i = 2 To UBound(Csd)
    Kq(1, i - 1) = Nguon(i, 1)
    k = 1
    t = 1
    For j = 2 To UBound(Csd, 2)
        If Csd(i, j) = 1 Then
            If t = 1 Then
                k = k + 1
                t = 0
            End If
            Kq(k, i - 1) = Kq(k, i - 1) + 1
        Else
            k = k + 1
            Kq(k, i - 1) = 0
            t = 1
        End If
    Next j
Next i
With Sheet2
    .UsedRange.Clear
    .Range("A4").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End With
End Sub
Cảm ơn bác nhiều ạ. . .
 
Upvote 0
Chắc có lẽ là thế này
Mã:
Option Explicit

Sub dem()
Dim Nguon As Range
Dim Cll As Range
Dim Csd, gsD
Dim Kq
Dim rws, cls
Dim i, j, k, t

Sheet1.AutoFilterMode = False
Set Nguon = Sheet1.Range("A2:AV25")
rws = Nguon.Rows.Count
cls = Nguon.Columns.Count
gsD = 1
ReDim Csd(1 To rws, 1 To cls)
Nguon.AutoFilter
For j = cls To 2 Step -1
    Nguon.AutoFilter Field:=j, Operator:=xlFilterNoFill
    For Each Cll In Nguon.Columns(j).SpecialCells(xlCellTypeVisible)
        i = Cll.Row
        If i > gsD Then Csd(i - gsD, j) = 1
    Next Cll
    Nguon.AutoFilter Field:=j
Next j
Sheet1.AutoFilterMode = False

ReDim Kq(1 To cls + 1, 1 To rws)
For i = 2 To UBound(Csd)
    Kq(1, i - 1) = Nguon(i, 1)
    k = 1
    t = 1
    For j = 2 To UBound(Csd, 2)
        If Csd(i, j) = 1 Then
            If t = 1 Then
                k = k + 1
                t = 0
            End If
            Kq(k, i - 1) = Kq(k, i - 1) + 1
        Else
            k = k + 1
            Kq(k, i - 1) = 0
            t = 1
        End If
    Next j
Next i
With Sheet2
    .UsedRange.Clear
    .Range("A4").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End With
End Sub
Có cách nào để giảm thời gian nếu trong "Sheet1" có 11500 dòng và khoảng 2000 cột không ạ. . . và em bị gặp lỗi này ạ. . . Em thêm 11344 dòng và thêm 368 cột thì bị lỗi này ạ. . . Bác xem giúp em với ạ. . .
Do nhiều cột và nhiều dòng nên dung lượng file lớn, nên em up lên mediafire ạ
https://www.mediafire.com/file/uc39ge43b6ujm4p/DemSoLan1.xlsb/file
4.JPG
 
Lần chỉnh sửa cuối:
Upvote 0
Có cách nào để giảm thời gian nếu trong "Sheet1" có 11500 dòng và khoảng 2000 cột không ạ. . . và em bị gặp lỗi này ạ. . . Em thêm 11344 dòng và thêm 368 cột thì bị lỗi này ạ. . . Bác xem giúp em với ạ. . .
Do nhiều cột và nhiều dòng nên dung lượng file lớn, nên em up lên mediafire ạ
https://www.mediafire.com/file/uc39ge43b6ujm4p/DemSoLan1.xlsb/file
Có lẽ vấn đề là tại số cột, việc này có thể điều chỉnh được.

Về số lượng dòng: Chốt lại tối đa số dòng của bạn là bao nhiêu để tính 1 thể
 
Upvote 0
Có lẽ vấn đề là tại số cột, việc này có thể điều chỉnh được.

Về số lượng dòng: Chốt lại tối đa số dòng của bạn là bao nhiêu để tính 1 thể
Trên “sheet1” số dòng sẽ đến dòng 11350. Số cột tối đa là 2000 cột ạ. . . Nếu “Sheet1” từ dòng 2 đến dòng 11350 thì “Sheet2” sẽ có 11348 cột ạ. . .
 
Upvote 0
Trên “sheet1” số dòng sẽ đến dòng 11350. Số cột tối đa là 2000 cột ạ. . . Nếu “Sheet1” từ dòng 2 đến dòng 11350 thì “Sheet2” sẽ có 11348 cột ạ. . .
"Set Nguon = Sheet1.Range("A2:ZZ11344")"
Trong file thực của bạn, toàn bộ vùng ở trên có dữ liệu hay không.
 
Upvote 0
Thử code này xem sao:
Mã:
Option Explicit

Sub CountColor()
Const MYCOLOR = vbRed
Dim Rng As Range, sArr(), dArr()
Dim I&, J&, K&, T&
Set Rng = Sheets("Sheet1").Range("A3:AV25")'Sửa lại vùng dữ liệu
sArr = Rng.Value
ReDim dArr(1 To UBound(sArr, 2), 1 To UBound(sArr, 1))
For I = 1 To UBound(sArr, 1)
    K = 1: T = 0
    dArr(K, I) = sArr(I, 1)
    For J = 2 To UBound(sArr, 2)
        If Rng(I, J).Interior.Color = MYCOLOR Then
            K = K + 1
            dArr(K, I) = 0
            T = 0
        Else
            If T = 0 Or K = 1 Then K = K + 1
            T = T + 1
            dArr(K, I) = T
        End If
    Next
Next
Sheets("Sheet2").Range("A4").Resize(Rows.Count - 4, Columns.Count).ClearContents
Sheets("Sheet2").Range("A4").Resize(UBound(dArr, 1), UBound(dArr, 2)) = dArr
End Sub
 
Upvote 0
Em chào các Thầy cô và anh chị em trên diễn đàn.
Em có file dữ liệu muốn đếm số lượng những ô "No Fill" và " Fill Color" của 1 hàng trong " Sheet1" và kết quả đếm sẽ chuyển sang "Sheet2". Những ô nào được "Fill Color" mặc định sẽ là "0" ạ. . . ( dữ liệu của "Sheet1" có thể hơn 10000 dòng và hơn 1000 cột ạ và chuyển sang " Sheet2" số cột sẽ bằng số dòng của "Sheet1" ạ). . .
Em ví dụ sơ bộ vài dòng để mọi người dễ hình dung vấn đề ạ:
Dữ liệu của "Sheet1" sẽ đếm những ô " No Fill" và "Fill Color" của từng dòng( A1 đến khoảng A10000)

Dữ liệu kết quả sẽ chuyển sang "Sheet2" và những ô nào được "Fill Color" màu đỏ sẽ bằng "0" và những đoạn "No Fill" và đến số lượng những ô "No Fill" của từng đoạn. . .

Nhờ mọi người giúp em với ạ. . . em xin cảm ơn ạ. . .

Bạn thử File:
Vào Sheet2 nhấn nút và xem kết quả.
- Dòng 2 tính Cell có màu đỏ.
- Dòng 3 tính Cell không có màu.
 

File đính kèm

  • DemSoLan.xlsb
    29 KB · Đọc: 12
Upvote 0
Điều chỉnh code: Dữ liệu dòng 3 tới đâu thì "set ..." tới đó rồi thử chạy xem sao.
Autofilter cũng có 1 số giới hạn
nhưng số cột của " Sheet1" là không cố định ạ. . . có thể lên đến tối đa là 2000 cột ạ
Bài đã được tự động gộp:

Thử code này xem sao:
Mã:
Option Explicit

Sub CountColor()
Const MYCOLOR = vbRed
Dim Rng As Range, sArr(), dArr()
Dim I&, J&, K&, T&
Set Rng = Sheets("Sheet1").Range("A3:AV25")'Sửa lại vùng dữ liệu
sArr = Rng.Value
ReDim dArr(1 To UBound(sArr, 2), 1 To UBound(sArr, 1))
For I = 1 To UBound(sArr, 1)
    K = 1: T = 0
    dArr(K, I) = sArr(I, 1)
    For J = 2 To UBound(sArr, 2)
        If Rng(I, J).Interior.Color = MYCOLOR Then
            K = K + 1
            dArr(K, I) = 0
            T = 0
        Else
            If T = 0 Or K = 1 Then K = K + 1
            T = T + 1
            dArr(K, I) = T
        End If
    Next
Next
Sheets("Sheet2").Range("A4").Resize(Rows.Count - 4, Columns.Count).ClearContents
Sheets("Sheet2").Range("A4").Resize(UBound(dArr, 1), UBound(dArr, 2)) = dArr
End Sub
Cảm ơn bác. . . Nếu đặt mảng dữ liệu "A3:AV25" nhưng cột "AV" không có dữ liệu thì những ô "No Fill" vẫn cộng đến cột "AV" ạ. . .
Và dòng code <Const MYCOLOR = vbRed> sửa chọn tất cả các màu thì như nào ạ. . . có thể là màu khác màu đỏ ạ . . .
Bác xem giúp em với ạ
 
Lần chỉnh sửa cuối:
Upvote 0
nhưng số cột của " Sheet1" là không cố định ạ. . . có thể lên đến tối đa là 2000 cột ạ
Bài đã được tự động gộp:


Cảm ơn bác. . . Nếu đặt mảng dữ liệu "A3:AV25" nhưng cột "AV" không có dữ liệu thì những ô "No Fill" vẫn cộng đến cột "AV" ạ. . .
Và dòng code <Const MYCOLOR = vbRed> sửa chọn tất cả các màu thì như nào ạ. . . có thể là màu khác màu đỏ ạ . . .
Bác xem giúp em với ạ
Bạn có thể giả định số cột thế nào thì tùy nhưng ý ở trên muốn nói là giả định đến đâu thì điền dữ liệu đến đó. Cái này là muốn xem sử dụng code cũ thì máy của bạn có tải được hay không.

Có lẽ bạn thử như trên xem sao rồi tính tiếp

---
Nếu số cột lớn có thể autofilter cho từng cột sẽ vẫn giải quyết được.
 
Upvote 0
Bạn có thể giả định số cột thế nào thì tùy nhưng ý ở trên muốn nói là giả định đến đâu thì điền dữ liệu đến đó. Cái này là muốn xem sử dụng code cũ thì máy của bạn có tải được hay không.

Có lẽ bạn thử như trên xem sao rồi tính tiếp

---
Nếu số cột lớn có thể autofilter cho từng cột sẽ vẫn giải quyết được.
Dữ liệu của em đến cột "NB" em cho mảng là ("A3:NG11455"). Mà cột "NC,ND,NE,NF,NG" không có dữ liệu nhưng vẫn đếm vào ạ. . .
Ví dụ là: đếm cột "No Fill" cuối của dòng A1 là 2 thì cộng đến cột "NG" thì kết quả ra là 7 ạ( 7 là sai ạ)
 
Upvote 0
Dữ liệu của em đến cột "NB" em cho mảng là ("A3:NG11455"). Mà cột "NC,ND,NE,NF,NG" không có dữ liệu nhưng vẫn đếm vào ạ. . .
Ví dụ là: đếm cột "No Fill" cuối của dòng A1 là 2 thì cộng đến cột "NG" thì kết quả ra là 7 ạ( 7 là sai ạ)
Đây là do dữ liệu của bạn có ô trống, các bài trên đều phủ kín giá trị => kết quả sai là do file ví dụ chưa tổng quát thôi bạn.

Việc đang bàn ở đây là lỗi code bạn viết tại bài 9 đó bạn
 
Upvote 0
Web KT

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

Back
Top Bottom