Hỏi về đếm số từ trong 1 file excel

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

linhvsb

Thành viên mới
Tham gia
29/1/09
Bài viết
17
Được thích
2
các anh chị cho em hỏi, khi em dùng cái này để đếm số từ trong 1 file thì nó chỉ đếm được trong 1 sheet, chứ 1 file mà có N sheets thì em vẫn phải thực hiện Alt+F8 N lần, mà cũng không đếm được những chữ viết trong vùng ảnh hoặc khung.
có cách nào cải tiến nó không ạ?

PHP:
Sub CountWords()
    Dim WordCount As Long
    Dim Rng As Range
    Dim S As String
    Dim N As Long
    For Each Rng In ActiveSheet.UsedRange.Cells
        S = Application.WorksheetFunction.Trim(Rng.Text)
        N = 0
        If S <> vbNullString Then
            N = Len(S) - Len(Replace(S, " ", "")) + 1
        End If
        WordCount = WordCount + N
    Next Rng
    MsgBox "So tu trong Sheet: " & Format(WordCount, "#,##0")
End Sub
 
Để đếm tất thảy các từ của các sheets, bạn tham khảo thêm ở đây

http://giaiphapexcel.com/forum/showthread.php?t=19010&highlight=worksheet#3

Nhưng chưa chắc đã chính xác, do nhầm lẫn có thể sãy ra giữa các từ 'Ố' & 'Ắ' . . . nó lại đếm thành 2 không chừng.

Còn việc đếm các từ trong những bức tranh thì mình chịu! Lúc đó hình như nó không còn là chữ viết nữa, mà là nét chấm phá của bức tranh mất rồi cũng nên.
 
Upvote 0
Bạn dùng For Each Rng In ActiveSheet.UsedRange.Cells thì tất nhiên chỉ đếm được trong 1 sheet thôi. Để thực hiện được cho cả N sheet thì bạn có thể làm như sau
For I = 1 to Sheets.count
For Each Rng In Sheets(i).UsedRange.Cells
.......
next
Gợi ý như thế thôi chứ chưa test.
 
Upvote 0
Tôi sửa lại theo ý bạn hoa35ktxd và test thử thấy Ok bạn thử xem nhé:
Mã:
Sub CountWords()
    Dim WordCount As Long
    Dim Rng As Range
    Dim S As String
    Dim N As Long
    Dim i As Long
    
For i = 1 To Sheets.Count
    For Each Rng In Sheets(i).UsedRange.Cells
        S = Application.WorksheetFunction.Trim(Rng.Text)
        N = 0
        If S <> vbNullString Then
            N = Len(S) - Len(Replace(S, " ", "")) + 1
        End If
        WordCount = WordCount + N
    Next Rng
Next i
    MsgBox "So tu trong Sheet: " & Format(WordCount, "#,##0")
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
dạ, em đã test cơ rưng mà không có cách nào đếm được số từ Ví dụ trong wordArt
hay khung text ạ?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử xem cái này thế nào
For i = 1 to ActiveSheet.Shapes.count
đếm số từ của cái này(ActiveSheet.Shapes.TextEffect.Text)
Next
Các đối tượng khác hãy sử dụng chức năng record macro để xem nó làm việc như thế nào và có can thiệp được không.
Thân
 
Upvote 0
Web KT

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

Back
Top Bottom