Đếm số lượng Textbox có điều kiện

Liên hệ QC

Bảy Dzõ

Ngu Excel nhất GPE
Tham gia
18/11/09
Bài viết
565
Được thích
1,361
Nghề nghiệp
Just for daily's rice
Các anh/chị/em cho tôi hỏi thăm có cách nào đếm được số lượng textbox dựa vào điều kiện được lấy từ nội dung của textbox đó.
Ví dụ: tôi có 1 file có nhiều textbox với nội dung khác nhau dưới định dạng XXX-YYZZ hoặc XXX-YYYZZ và bây giờ tôi muốn đếm số lượng textbox có chứa YY hoặc YYY

Tôi xin gửi file đính kèm để các anh/chị/em có thể thấy được vấn đề. Hy vọng được giúp đỡ. Thân
 

File đính kèm

  • hoi_GPE.xlsx
    9.7 KB · Đọc: 7
Code dạng sau, anh tùy biến nhé
Mã:
Sub GPE()
    Dim shp As Shape
    Dim CompStr As String
    Dim i As Long
    CompStr = "P01-BA03"
    For Each shp In Application.ActiveSheet.Shapes
        If shp.Type = msoTextBox Then
            If shp.TextFrame2.TextRange.Text = CompStr Then
                i = i + 1
            End If
        End If
    Next
    MsgBox i
End Sub
 
Upvote 0
Code dạng sau, anh tùy biến nhé
Mã:
Sub GPE()
    Dim shp As Shape
    Dim CompStr As String
    Dim i As Long
    CompStr = "P01-BA03"
    For Each shp In Application.ActiveSheet.Shapes
        If shp.Type = msoTextBox Then
            If shp.TextFrame2.TextRange.Text = CompStr Then
                i = i + 1
            End If
        End If
    Next
    MsgBox i
End Sub

Cám ơn dhn46 nhiều, anh có thử để vào nhưng nó lại không ra kết quả chính xác. Nếu anh đổi nội dung textbox thành BA thì nó đếm được không thì nó không đếm được. Ninh xem giúp. Thân
 

File đính kèm

  • hoi_GPE.xlsm
    15.8 KB · Đọc: 2
Upvote 0
Cám ơn dhn46 nhiều, anh có thử để vào nhưng nó lại không ra kết quả chính xác. Nếu anh đổi nội dung textbox thành BA thì nó đếm được không thì nó không đếm được. Ninh xem giúp. Thân
Anh áp dụng sai Code rồi. Anh dùng Left (....) thì nó chỉ thỏa cái Left thôi, còn nếu muốn 1 phần thì dùng Like ví dụ như
Mã:
If shp.TextFrame2.TextRange.Text Like "*" & CompStr & "*" Then
 
Upvote 0
Anh áp dụng sai Code rồi. Anh dùng Left (....) thì nó chỉ thỏa cái Left thôi, còn nếu muốn 1 phần thì dùng Like ví dụ như
Mã:
If shp.TextFrame2.TextRange.Text Like "*" & CompStr & "*" Then
Cám ơn dhn46, học thêm được cái mới. Mà học hoài sao cứ vẫn ngu +-+-+-++-+-+-++-+-+-+
 
Upvote 0
Web KT
Back
Top Bottom