Làm thế nào để đếm các phần tử trong khối ô?

Liên hệ QC

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,662
Được thích
16,720
Giới tính
Nam
Kính chào các ANH, CHỊ!

Nếu như ta dùng hàm COUNTA trong worksheet để đếm phần tử, thì khi dùng trên VBA, để chọn một vùng bất kỳ (selection) thì bằng phương thức nào để biết vùng được chọn có bao nhiêu ô có chứa nội dung?
Cám ơn.
 
Bạn xem code sẽ có câu trả lời:
Mã:
Sub thu()
Dim rng As Range
Set rng = Sheet3.Range("a1:c5")
MsgBox Application.WorksheetFunction.CountA(rng) & "/" & rng.cells.count
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn xem code sẽ có câu trả lời:
Xin lỗi

Đếm xem có bao nhiêu ô chứa nội dung ( khác rỗng ) đó anh Sealand ơi.
Bạn thử code này xem :
PHP:
Sub CountCell()
On Error Resume Next
With Selection
    MsgBox .SpecialCells(2, 23).Cells.Count + .SpecialCells(-4123, 23).Cells.Count
End With
End Sub

Hay

PHP:
Sub CountCell()
MsgBox WorksheetFunction.CountA(Selection)
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Đếm xem có bao nhiêu ô chứa nội dung ( khác rỗng ) đó anh Sealand ơi.
Bạn thử code này xem :
PHP:
Sub CountCell()
On Error Resume Next
With Selection
    MsgBox .SpecialCells(2, 23).Cells.Count + .SpecialCells(-4123, 23).Cells.Count
End With
End Sub

Cám ơn Bác, nhưng Bác có thể giải thích dòng lệnh này như thế nào được không ạ?
tại sao lại có các thông số như 2, 23, -4123...?

.SpecialCells(2, 23).Cells.Count + .SpecialCells(-4123, 23).Cells.Count


PS: Sao mình copy code này và chọn thử một khối ô bất kỳ rồi chạy thử nó đứng im re?
Mình thử gỡ bỏ On error resume next ra, thì báo lỗi 1004 (No cells were found) nhưng mình đã chọn khối ô rồi mà?

 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn Bác, nhưng bạn có thể giải thích dòng lệnh này như thế nào được không ạ?
tại sao lại có các thông số như 2, 23, -4123...?

Bạn vào Tools\Macro\Record New Macro
Sau đó chọn vùng cần thao tác, bấm Crtl+G, Specials, chọn Constants or Fomulas. Sau đó vào VBE để xem code của quá trình thao tác thì bạn sẽ hiểu thôi.

tại sao lại có các thông số như 2, 23, -4123...?
Trong VBE, Vào View\Object Browser, vào khung tìm kiếm nhập vào "XlCellType" để tìm hiểu nha
 
Upvote 0
Xin được hỏi lại

Bạn vào Tools\Macro\Record New Macro
Sau đó chọn vùng cần thao tác, bấm Crtl+G, Specials, chọn Constants or Fomulas. Sau đó vào VBE để xem code của quá trình thao tác thì bạn sẽ hiểu thôi.


Trong VBE, Vào View\Object Browser, vào khung tìm kiếm nhập vào "XlCellType" để tìm hiểu nha

Sao mình copy code này và chọn thử một khối ô bất kỳ rồi chạy thử nó đứng im re?
Mình thử gỡ bỏ On error resume next ra, thì báo lỗi 1004 (No cells were found) nhưng mình đã chọn khối ô rồi mà?
 
Upvote 0
Xin cám ơn!

Tôi đã nhận được mail của anh rồi, cám ơn anh hoangdanh282vn, đã làm được rồi.
 
Upvote 0
Tôi đã nhận được mail của anh rồi, cám ơn anh hoangdanh282vn, đã làm được rồi.

Kết hợp CODE của hoangdanh282vn sealand cho ra kết quả thật là tuyệt. Cảm ơn các Chuyên gia.
Mã:
Sub CountCell()
    MsgBox WorksheetFunction.CountA(Selection) & "/" & Selection.Count
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom