Đếm số lượng phần tử mỗi khi thay đổi tham số nhưng chưa biết giải quyết vấn đề ra sao

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

tuankietyk0305

Thành viên mới
Tham gia
11/5/21
Bài viết
1
Được thích
0
Ảnh chụp màn hình_20221220_065426.png
Mình tự học VBA cũng tự làm để phục vụ công việc, hiện tài mình đang muốn đếm số lượng dạng tật mỗi khi thay đổi tham số [xã phường hoặc huyện,thị, TP] nhưng chưa biết giải quyết vấn đề ra sao, vì ký tự có dấu nên vẫn chưa làm đc (phần số trong ô đỏ là ví dụ mình muốn làm). Mong nhận đc sự giúp đỡ ạ
 
View attachment 284874
Mình tự học VBA cũng tự làm để phục vụ công việc, hiện tài mình đang muốn đếm số lượng dạng tật mỗi khi thay đổi tham số [xã phường hoặc huyện,thị, TP] nhưng chưa biết giải quyết vấn đề ra sao, vì ký tự có dấu nên vẫn chưa làm đc (phần số trong ô đỏ là ví dụ mình muốn làm). Mong nhận đc sự giúp đỡ ạ

Các cột dữ liệu như [Chẩn đoán], [Dạng tật] nên tạo thêm cột Mã định danh cho nó để tiện và chính xác trong việc thống kê.
Kiểu như ICD10.

Screen Shot 2022-12-20 at 23.54.51.png
 
. . . .
Mình tự học VBA cũng tự làm để phục vụ công việc, hiện tài mình đang muốn đếm số lượng dạng tật mỗi khi thay đổi tham số [xã phường hoặc huyện,thị, TP] nhưng chưa biết giải quyết vấn đề ra sao, vì ký tự có dấu nên vẫn chưa làm đc (phần số trong ô đỏ là ví dụ mình muốn làm). Mong nhận đc sự giúp đỡ ạ
Thử vận dụng =DCOUNT() hay =DCOUNTa() (& mình không chắc là được vì không thể kiểm nghiệm trên cái ảnh đẹp của bạn!)
 

File đính kèm

  • CSDL.rar
    13.1 KB · Đọc: 1
Lần chỉnh sửa cuối:
Các giá trị của "Dạng tật" để ở 1 danh mục, hoặc ở 1 cột trên sheet. Khi thay đổi tham số trên form, dùng vòng lặp duyệt qua List và đếm theo các giá trị đó lấy từ sheet.
Ví dụ:
A1 = VẬN ĐỘNG
A2 = NGHE NÓI
Code
Mã:
Dim DangVD ' Dạng vận động
Dim Dang NN 'Dang Nghe noi
Dim Tmp() 'Mang tam
Dim DemVD As Long, DemNN As Long
DangVD = Sheet1.[A1].Value
DangNN = Sheet2.[A2].Value
Tmp = ListBox1.List
For i = 0 to UBound(Tmp, 1)
    If Tmp( i, 8) = DangVD Then DemVD = DemVD + 1
    If Tmp( i, 8) = DangNN Then DemNN = DemNN + 1
Next
Sau đó gán DemVD và DemNN vào 2 tectbox tương ứng
 
Thử vận dụng =DCOUNT() hay =DCOUNTa() (& mình không chắc là được vì không thể kiểm nghiệm trên cái ảnh đẹp của bạn!)
Người ta muốn dùng UserForm cho nó xịn. Chứ loại phân tích tổng quát này là công việc của Pivot Table.

Hồi xưa tôi cứ ngỡ Pivot Table là xịn. Nhưng bi giờ thì đã rõ dân VBA lười học các công cụ chuẩn của Excel, và lười thiết kế bảng, lên GPE xin code là xong hết.
 
Web KT

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

Back
Top Bottom