Tính Max hoặc min khoảng theo hàng bằng VBA (2 người xem)

  • Thread starter Thread starter 1986QV
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

1986QV

Thành viên hoạt động
Tham gia
15/5/12
Bài viết
114
Được thích
6
Nghề nghiệp
Kỹ sư
Anh chị viết code cho cách tính Max hoặc Min cho khoảng trống theo hàng bằng VBA được mô tả theo file đính kèm.
Cảm ơn A/C quan tâm!
 

File đính kèm

Upvote 0
Dùng tạm hàm "củ chuối" sau trong khi chờ các anh chị khác nhé:
PHP:
Function cntMaxBlank(ra As Range) As Long
Dim s As String, iC As Long, j As Long, i As Long, k As Long
    iC = ra.Cells.Count
    If iC < 2 Then
        i = 1
        GoTo endF
    End If
    For i = 1 To iC
        If ra.Cells(i) <> "" Then Exit For
    Next
    If i >= iC - 1 Then
        i = 1
        GoTo endF
    End If
    For j = iC To i Step -1
        If ra.Cells(j) <> "" Then Exit For
    Next
    If j < i - 1 Then
        i = 1
        GoTo endF
    End If
    For k = j To i Step -1
        If ra.Cells(k) = "" Then Exit For
    Next
    k = k + 1
    If k < i Then
        i = 1
        GoTo endF
    End If
   
    For j = i To k 'ra.Cells.Count
        s = s & "|" & ra.Cells(j)
    Next
    For i = Len(s) To 1 Step -1
        If InStr(s, String(i, "|")) > 0 Then Exit For
    Next
endF:
    cntMaxBlank = (i - 1)
End Function
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bác có thể viết lại code với đúng dạng bài của em được không?
Cảm ơn A/C quan tâm!
 
Upvote 0
Mình kiểm tra rùi. Đang coi lại bài của bác ndu96081631 xem thế nào? bạn có thể coi qua đi
Cảm ơn A/C quan tâm!
 
Upvote 0
Không thấy bác ndu96081631 trả lời em vậy? em coi qua chạy thử rồi không ổn.
Thứ nhất chạy theo cột, chỉ 1 cột thôi. Thứ hai bài toán của em theo hàng và mảng lớn
Bác xem chỉ giáo dùm em
Cảm ơn mọi người cùng quan tâm!
 
Upvote 0
Không thấy bác ndu96081631 trả lời em vậy? em coi qua chạy thử rồi không ổn.
Thứ nhất chạy theo cột, chỉ 1 cột thôi. Thứ hai bài toán của em theo hàng và mảng lớn
Bác xem chỉ giáo dùm em
Cảm ơn mọi người cùng quan tâm!
Dựa trên code của Bác ndu96081631 mình bổ sung thêm phù hợp với file của bạn
(không tính số Blanks đầu và cuối vùng dữ liệu phải không?)
 

File đính kèm

Upvote 0
Không thấy bác ndu96081631 trả lời em vậy? em coi qua chạy thử rồi không ổn.
Thứ nhất chạy theo cột, chỉ 1 cột thôi. Thứ hai bài toán của em theo hàng và mảng lớn
Bác xem chỉ giáo dùm em
Cảm ơn mọi người cùng quan tâm!
Gần giống thì cũng phải sửa lại đôi chút chứ
PHP:
Function MaxBlank(ByVal SrcRng As Range) As Long
  Dim Max As Long, Clls As Range, Chk As Boolean
  For Each Clls In SrcRng
    If Clls.Value <> "" Then Chk = True
    If Chk Then
      If IsEmpty(Clls) Then
        Max = Max + 1
      Else
        If MaxBlank < Max Then MaxBlank = Max
        Max = 0
      End If
    End If
  Next
End Function
 
Upvote 0
Không biết file có lỗi gì không chạy tất các file của các bác và anh em chiến hữu đều không chạy được. Em bực quá. Điên hết cả người. không hiểu vì sao A/e ah? Nản quá.
 
Upvote 0
Không biết file có lỗi gì không chạy tất các file của các bác và anh em chiến hữu đều không chạy được. Em bực quá. Điên hết cả người. không hiểu vì sao A/e ah? Nản quá.
Không chạy nghĩa là sao? Nó có thông báo gì không? bạn phải nói cụ thể chứ, chẳng việc gì phải bực cả khi đã đưa lên GPE
 
Upvote 0
Đây là lỗi các bạn coi góp ý mình.loi day.jpg
 
Upvote 0
Hic, không những chưa thiết lập mà VBA còn chưa được install.
 
Upvote 0
Bác xem lại đi rõ ràng em thử với code bài khác chạy ngon. Mà bác chưa cài VBA là sao? Do lỗi gì ???
 
Upvote 0
À tại thấy thông báo lỗi VBA chưa cài đặt.
Bạn bảo thử với code bài khác chạy ngon, code đó là VBA hay hàm?
 
Upvote 0
Em chạy lại báo lỗi Application.WindowState = xlMinimized là sao đây các a?
 
Upvote 0
Xin lỗi mọi người sáng nay mới nhắn lại được. Thực em bị khi chạy hàm nên báo lỗi như vậy. Không biết thủ tục và cách chạy hàm ntn ? Em coi kỹ rồi vẫn bị lỗi. Mọi chỉ cách dùm.
 
Upvote 0
Web KT

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

Back
Top Bottom