Code VBA cho đếm điều kiện xuôi ngược (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ư
Mong A/E forum giúp đỡ viết dùm code VBA cho đếm điều kiện xuôi, ngược của khoảng trắng và so sánh các lần đếm đưa ra max xuôi, ngược của hàng trong bảng tính. Và cuối cùng đếm liên tiếp các " " cuối cùng của hàng trong bảng tính
Cảm ơn A/E forum GPE quan tâm và giúp đỡ!!!
 

File đính kèm

Mong A/E forum giúp đỡ viết dùm code VBA cho đếm điều kiện xuôi, ngược của khoảng trắng và so sánh các lần đếm đưa ra max xuôi, ngược của hàng trong bảng tính. Và cuối cùng đếm liên tiếp các " " cuối cùng của hàng trong bảng tính
Cảm ơn A/E forum GPE quan tâm và giúp đỡ!!!
Có bài để thực tập RegExp rồi đây
Mã:
Public Sub DemDem()
    Dim Re, ReTim, Gom, Vung, I, J, Mg, Kq, Cll
    Set Re = CreateObject("vbscript.regexp")
    Vung = Range("J3:AB10").Value
    ReDim Mg(1 To UBound(Vung), 1 To 3)
        With Re
            For I = 1 To UBound(Vung, 1)
                For J = 1 To UBound(Vung, 2)
                    If Vung(I, J) = "" Then
                        Gom = Gom & " "
                    Else
                        Gom = Gom & Vung(I, J)
                    End If
                Next J
                    .Global = True
                    .Pattern = "1\s+0"
                    Set ReTim = .Execute(Gom)
                        For Each Cll In ReTim
                            Kq = IIf(Kq > Cll.Length, Kq, Cll.Length)
                        Next Cll
                            Mg(I, 1) = Kq - 2
                            Kq = 0
                    .Pattern = "0\s+1"
                    Set ReTim = .Execute(Gom)
                        For Each Cll In ReTim
                            Kq = IIf(Kq > Cll.Length, Kq, Cll.Length)
                        Next Cll
                            Mg(I, 2) = Kq - 2
                            Kq = 0
                    .Pattern = "[0-9]\s+$"
                    Set ReTim = .Execute(Gom)
                        If ReTim.Count = 0 Then
                            Mg(I, 3) = 0
                        Else
                            Mg(I, 3) = ReTim.Item(0).Length - 1
                        End If
                Gom = ""
            Next I
End With
[AF3].Resize(UBound(Vung), 3) = Mg
End Sub
Bấm Ctrl + W để chạy code nhé bạn
Thân
Kết quả nhập tay của bạn hình như sai có....5 thằng, híc
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Không chỉnh được bác ah! chỉnh là hỏng. Hjhj.
 
Upvote 0
Web KT

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

Back
Top Bottom