Là sao nhỉ. Bạn mô tả vấn đề và ý tưởng kết quả mong muốn coi nàoKính nhờ anh chị diễn đàn chỉ giúp em cách đếm số lần chọn đáp án mức độ khi kích chuột giúp em với ạ
Kết quả mẫu bạn muốn là như nàoView attachment 296229
Dạ em có 1 phiếu khảo sát như thế này, anh có cách nào để đếm được số lần người ta chọn đáp án 1, số lần người ta chọn đáp án 2 và tương tự như vậy với các đáp án khác
dạ Kết quả em muốn là đếm số lần khi em kích chuột vào các ô từ 1 đến 10 đối với từng tiêu chí ạKết quả mẫu bạn muốn là như nào
Bạn hãy làm kết quả mẫu điền bằng tay rồi đính kèm lại file coi giúp được bạn không.dạ Kết quả em muốn là đếm số lần khi em kích chuột vào các ô từ 1 đến 10 đối với từng tiêu chí ạ
Sao bạn không nhập kết quả chi tiết từng người rồi tự động Sum mà chỉ nhìn giấy, bấm chọn điểm thì sai sót cũng khó kiểm tra nhập sai của người nào. Rồi lỡ bấm chuột sai, bấm lại thì phải xử lý như thế nào.dạ Kết quả em muốn là đếm số lần khi em kích chuột vào các ô từ 1 đến 10 đối với từng tiêu chí ạ
Tôi có gợi ý (trong nhóm zalo) thế này:Tạo Form các tiêu chí + 10 cái nút bấm thì nhập liệu cũng nhanh mà.
Gạch tay cũng là một cách nhanh, khỏi code kiết, bẫy lỗi tùm lum, nếu số lượng phiếu không nhiều, chứ không ngồi đếm ô vuông cũng dễ hoa mắt .Mỗi tờ đã đánh dấu từng người: Người ta đánh ô nào thì mình gạch 1 gạch vào ô đó của tờ tổng hợp. 4 gạch hình vuông và 1 gạch chéo là 5, 2 hình vuông là 10, cứ thế.
Cuối cùng đếm số lượng hình vuông mỗi ô mà gõ vào excel.
...
Ngày xưa kiểm phiếu bằng tay người ta cũng làm vậy, có khi còn nhanh hơn và ít sai sót hơn là click click vào ô, với lại bấm bấm vào form (form thì không biết làm).
Nhập liệu vào sheet "Nhap Lieu", kết quả tự tính ở sheet "Thong Ke"Kính nhờ anh chị diễn đàn chỉ giúp em cách đếm số lần chọn đáp án mức độ khi kích chuột giúp em với ạ
View attachment 296230
dạ phiếu và file đây ạ
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lr&, rng As Range, res(1 To 10), ce As Range
lr = Cells(Rows.Count, "A").End(xlUp).Row
If Intersect(Target, Range("B4:K" & lr)) Is Nothing Then Exit Sub
Set rng = Range(Cells(Target.Row, "B"), Cells(Target.Row, "K"))
For Each ce In rng
ce.Interior.Color = xlNone
Next
Target.Interior.Color = vbYellow
Set rng = Range("B4:K" & lr)
For Each ce In rng
If ce.Interior.Color = vbYellow Then
res(ce.Column - 1) = res(ce.Column - 1) + 1
End If
Next
Range("L4").Resize(1, 10).Value = res
End Sub
Lưu ý là : nhỡ có click nhầm thì phải sửa lại bên phần ô (cùng dòng tương ứng) tô màu vàng
VBA cũng được nhưng code viết phải test rất kỹ, và dự phòng được tất cả các trường hợp nhập nhầm, nhập sai, nhập đúp, ... Code viết nửa tiếng phải được test nửa ngày (test đúng phương pháp), chứ test 5 phút thì thua. Ngoài ra người dùng cũng phải rất cẩn thận.Cột B-K: Ngườ dùng click chọn vào từng ô và ô sẽ tô màu vàng, nếu cùng 1 dòng thì xem như chọn lại cho dòng đó và ô màu vàng sẽ cập nhật lại
Chưa hiểu ý của sư phụ là gì. Đây là phiếu dành cho 1 người, nên không có khái niệm "người kế tiếp".Thí dụ code bebo:
Code dự phòng click 1 ô 2 lần, nếu click 2 lần chỉ xem là 1. Ý tưởng là đúng nhưng khi nhập liệu qua người kế tiếp cùng điểm thì click cũng cứ trơ trơ!
File giấy của chủ bài là file đã đánh dấu, lỡ in và đánh dấu bằng tay (đánh dấu bằng cách khoanh tròn, xem ảnh tờ giấy thì thấy). Bây giờ cầm 1 xấp giấy đó để thống kê lại. Chứ chỉ 1 người thì cần thông kê nguyên bảng làm gì, count xuống dòng tổng là xong.Chưa hiểu ý của sư phụ là gì. Đây là phiếu dành cho 1 người, nên không có khái niệm "người kế tiếp".
Mỗi cán bộ khi nhận file này sẽ tự đánh giá mình bằng cách click từ 1-10, cho từng tiêu chí trong 25 tiêu chí. (Xem file giấy là biết thôi)