Lần sau nhớ post file xls nhé (vì không phải ai cũng xài Excel2007)
Tôi post lại đây
 YES Sir. Thank you very muchFunction dem(cel As Range) Dim arr(1000) Dim temp(1000) For n = 1 To cel.Columns.Count + 1     If n = (cel.Columns.Count + 1) Then     temp(n) = 1     Else     temp(n) = cel.Cells(n)     End If Next k = 0 j = 1 For i = 1 To cel.Columns.Count + 1     If temp(i) = 1 Then         arr(j) = k         j = j + 1         k = 0     Else          k = k + 1     End If Next dem = Application.WorksheetFunction.Max(arr()) End Function
	Cách củ chuối! Đêm bằng tay vậy!
Bạn xem file nha!PHP:Function dem(cel As Range) Dim arr(1000) Dim temp(1000) For n = 1 To cel.Columns.Count + 1 If n = (cel.Columns.Count + 1) Then temp(n) = 1 Else temp(n) = cel.Cells(n) End If Next k = 0 j = 1 For i = 1 To cel.Columns.Count + 1 If temp(i) = 1 Then arr(j) = k j = j + 1 k = 0 Else k = k + 1 End If Next dem = Application.WorksheetFunction.Max(arr()) End Function
Thân.

Function Dem(Rng As Range) As Long
    Dim i As Long
    Dim iRet As Long
    Dim iCurrentCount As Long
    For i = 1 To Rng.Columns.Count
        If Rng.Cells(1, i) = 0 Then
            iCurrentCount = iCurrentCount + 1
        Else
            If iCurrentCount > iRet Then iRet = iCurrentCount
            iCurrentCount = 0
        End If
    Next
    Dem = iRet
End Function
	Đếm vầy nè, lẹ hơn!
PHP:Function Dem(Rng As Range) As Long Dim Clls As Range, k As Long For Each Clls In Rng Dem = ((Clls = 0) - Dem) * (Clls = 0) Next End Function
Code của ndu96081631 thì các số 0 ở cuối cùng lớn nhất thôi. Còn bạn thì lấy giá trị đếm số 0 cuối cùng trước 1 mà thôi! Còn nếu cuối cùng không có số 1 thì bạn đêm sai liền. Đây là bảng thông kê.Function Dem(Rng As Range) As Long Dim i As Long Dim iRet As Long Dim iCurrentCount As Long For i = 1 To Rng.Columns.Count If Rng.Cells(1, i) = 0 Then iCurrentCount = iCurrentCount + 1 Else If iCurrentCount > iRet Then iRet = iCurrentCount iCurrentCount = 0 End If Next Dem = iRet End Function [/code]

If iCurrentCount > iRet Then iRet = iCurrentCount
	Dem = iRet
	Function Dem(Rng As Range) As Long
    Dim i As Long
    Dim iRet As Long
    Dim iCurrentCount As Long
    For i = 1 To Rng.Columns.Count
        If Rng.Cells(1, i) = 0 Then
            iCurrentCount = iCurrentCount + 1
        Else
            If iCurrentCount > iRet Then iRet = iCurrentCount
            iCurrentCount = 0
        End If
    Next
    If iCurrentCount > iRet Then iRet = iCurrentCount
    Dem = iRet
End Function
	Sorry! Thiếu 1 dòng, lý ra phải là:Thế này chỉ đếm ra số ô có giá trị là 0 cuối cùng thôi, cuối cùng là ô có giá trị 1 thì trả về 0, hoặc trước đó có khoảng lớn hơn khoảng ở cuối thì nó vẫn trả về khoảng cuối.
Function Dem(Rng As Range) As Long
  Dim Clls As Range, k As Long
  For Each Clls In Rng
    k = ((Clls = 0) - k) * (Clls = 0)
    If k > Dem Then Dem = k
  Next
End Function
	Function Dem(Rng As Range) As Long
  Dim Clls As Range, k As Long
  For Each Clls In Rng
    k = ((Clls = 0) - k) * (Clls = 0)
    Dem = -k * (k > Dem) - Dem * (k <= Dem)
  Next
End Function