Cho em hỏi có cách nào nhâp điểm nhanh bằng Macro có file đính kèm? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ongtrungducmx25

Thành viên gạo cội
Tham gia
5/2/07
Bài viết
2,077
Được thích
1,987
Nghề nghiệp
GV
xin cho hỏi có cách nào nhập điểm nhanh không cần phải nhấn phím Tab hoặc enter không khi em nhập điểm từ {0;1;.....;10} có cách nàp nhập điểm liên tục không em có file đính kèm nhờ báo giải đáp thất mất của em ?@$@!^%
 
Lần chỉnh sửa cuối:
Chào bạn
- Bạn rất chu đáo khi gởi file mẫu và đoạn film minh hoạ rất rõ ràng.
- Vấn đề bạn nêu ra mình nghĩ : nếu hoàn thiện được sẽ rất thiết thực với những thầy cô làm điểm trên Excel.
- Mình thực hiện dựa trên file mẫu của bạn. Lưu ý :
1/ Bạn chọn vùng cần nhập điểm trước khi click nút <Nhap Diem>
2/ Nhập điểm từ 0 đến 9 thì bình thường. Riêng điểm 10 thì bạn nhập bằng phím "+".
Mong được các anh chị hoàn thiện thêm.

TDN
 

File đính kèm

Lần chỉnh sửa cuối:
Tôi có thêm ý kiến như sau: trong thực tế số điểm hệ số 1 của các học sinh là không giống nhau, vậy làm thế nào để máy biết để trống những ô sẽ không có điểm.
 
ngo15 đã viết:
Tôi có thêm ý kiến như sau: trong thực tế số điểm hệ số 1 của các học sinh là không giống nhau, vậy làm thế nào để máy biết để trống những ô sẽ không có điểm.
Chào bạn
Bạn có thể nói rõ hơn hoặc cho ví dụ cụ thể không. Ý bạn muốn chương trình nhận biết ô không có điểm trong quá trình nhập điểm hay trong công thức tính điểm trung bình ?

TDN
 
Vấn đề đơn giản, hình như người nhập liệu hơi lười. Mình nghĩ nhập trực tiếp vẫn đơn giản hơn

Nho sĩ tedaynui đã lỡ làm User Form thì làm cho hoành tráng luôn :
Làm 1 Form :

1. Combobox chọn lựa tên người
2. Các combobox (hoặc textbox) để lựa chọn điểm.

Sau khi chạy đến ô cuối cùng, Nhấp OK là tên người được chuyển đến người tiếp theo

Có 1 nút sửa cho phép sửa điểm luôn

Thân!
 
Chào các bạn, tôi xin góp thêm ý kiến.
Sổ điểm cá nhân của mỗi giáo viên gồm các cột: Điểm hệ số 1, Điểm hệ số 2, Điểm học kì. . ., tại mỗi cột các điểm được viết liền nhau cách nhau bởi 1 khoảng trắng.
Vì vậy
- Phần nhập điểm nên thiết kế nhập theo từng loại điểm hệ số. Khi nhập thì viết liền (điểm 10 được nhập bằng 1 kí tự đại diện - như tedaynui đã nêu), sau khi nhập xong thì chuyển vào ô chứa điểm và các điểm cách nhau bởi 1 khoảng trắng. Nếu đã có điểm thì bổ sung vào cuối.
- Phần công thức tính điểm xử lý theo số điểm hiện có của mỗi loại hệ số.
 
Chào Hiếu
- Mình không biết cách nào để vừa gõ xong 1 số thì nó nhập điểm đồng thời nhảy sang ô kế tiếp nên mới mượn Form làm trung gian.
- Tất nhiên, như Hiếu nhận xét nếu tạo Form nhập điểm thì trông có vẻ hoành tráng và chuyên nghiệp hơn. Nhưng mình thấy thao tác trên sheet vẫn nhanh hơn và trong quá trình nhập điểm dễ rà soát, kiểm tra hơn Form (đây chỉ là ý kiến chủ quan của mình thôi nha, hi hi)

Thân.
 
Lần chỉnh sửa cuối:
Chào Chibi
Không biết mình hiểu có đúng như ý Chibi không, ý của Chibi là một ô sẽ chứa nhiều điểm và cách nhau bằng khoảng trắng. ví dụ : "5 8 10 7" có phải ý Chibi vậy không ?
Theo mình thì mỗi điểm 1 cột sẽ thuận tiện cho việc tính toán hơn. Đồng thời, khi xuất ra bảng điểm sẽ thẫm mỹ hơn
Ng Van A ------- "9 2 4 5"
Ng Van B ------- "10 10 10 10"
Nhìn thấy không ổn lắm khi so le như vậy

TDN
 
tedaynui đã viết:
Chào Hiếu
- Mình không biết cách này để vừa gõ xong 1 số thì nó nhập điểm đồng thời nhảy sang ô kế tiếp nên mới mượn Form làm trung gian.
- Tất nhiên, như Hiếu nhận xét nếu tạo Form nhập điểm thì trông có vẻ hoành tráng và chuyên nghiệp hơn. Nhưng mình thấy thao tác trên sheet vẫn nhanh hơn và trong quá trình nhập điểm dễ rà soát, kiểm tra hơn Form (đây chỉ là ý kiến chủ quan của mình thôi nha, hi hi)

Thân.

Bác đọc kỹ nhé
Vấn đề đơn giản, hình như người nhập liệu hơi lười. Mình nghĩ nhập trực tiếp vẫn đơn giản hơn

Cách của bác cũng rất hay đấy.

Thân!
 
Điểm HS 1 của h/s A: 5,7,8. Của h/s B: 8,9,10,7. Của h/s C: 2,4,7,9,6,3. Nhưng trong giải pháp của bạn máy cứ nhẩy hết các ô của HS1 mới sang HS2. Và khi số điểm của HS1 khác nhau thì công thức tính đỉêm TB cũng sẽ sai.
 
ngo15 đã viết:
Điểm HS 1 của h/s A: 5,7,8. Của h/s B: 8,9,10,7. Của h/s C: 2,4,7,9,6,3. Nhưng trong giải pháp của bạn máy cứ nhẩy hết các ô của HS1 mới sang HS2. Và khi số điểm của HS1 khác nhau thì công thức tính đỉêm TB cũng sẽ sai.
Chào bạn
Nếu muốn bỏ ô, nhảy sang ô kế tiếp thì cũng đơn giản thôi. Bạn làm tương tự như phím "+" (thay cho 10 điểm), bạn có thể thêm trong code dấu "." thì không nhập điểm mà nhảy sang ô kế tiếp.
Bạn có thể tải lại File ở bài số #2
Chúc bạn thành công

TDN
 
Lần chỉnh sửa cuối:
ongtrungducmx25 đã viết:
xin cho hỏi có cách nào nhập điểm nhanh không cần phải nhấn phím Tab hoặc enter không khi em nhập điểm từ {0;1;.....;10} có cách nàp nhập điểm liên tục không em có file đính kèm nhờ báo giải đáp thất mất của em ?@$@!^%
Bạn có thể dùng Onkey để kiểm tra phím bấm. Để nhập nhanh, tôi quy định số 0, 1, 2, ..., 9 nhập bình thường. Số 10 nhập bằng phím "m".
Hoạt động của Onkey nhu sau:
- Khi mở nhapdiemnhanh01.xls, thủ tục Auto_Open hoạt động và gán Onkey vào các phím và thủ tục tương ứng.
- Bạn chọn trước 1 vùng, nhập điểm vào, ô hoạt động (Activate) sẽ dời từ trái sang phải, từ trên xuống dưới vùng chọn.
- Muốn nhập bình thường bạn phải kết thúc nhapdiemnhanh01.xls hoặc chạy Sub Auto_Close để giải phóng Onkey

Mã:
Sub Auto_Open()
Application.Onkey "0", "Khong"
Application.Onkey "1", "Mot"
Application.Onkey "2", "Hai"
Application.Onkey "3", "Ba"
Application.Onkey "4", "Bon"
Application.Onkey "5", "Nam"
Application.Onkey "6", "Sau"
Application.Onkey "7", "Bay"
Application.Onkey "8", "Tam"
Application.Onkey "9", "Chin"
Application.Onkey "m", "Muoi"
End Sub
 
Sub Auto_Close()
Application.Onkey "0"
Application.Onkey "1"
Application.Onkey "2"
Application.Onkey "3"
Application.Onkey "4"
Application.Onkey "5"
Application.Onkey "6"
Application.Onkey "7"
Application.Onkey "8"
Application.Onkey "9"
Application.Onkey "m"
End Sub
 
Sub Khong()
ActiveCell.Value = 0
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Mot()
ActiveCell.Value = 1
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Hai()
ActiveCell.Value = 2
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Ba()
ActiveCell.Value = 3
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Bon()
ActiveCell.Value = 4
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Nam()
ActiveCell.Value = 5
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Sau()
ActiveCell.Value = 6
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Bay()
ActiveCell.Value = 7
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Tam()
ActiveCell.Value = 8
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Chin()
ActiveCell.Value = 9
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub Muoi()
ActiveCell.Value = 10
r = ActiveCell.Row
c = ActiveCell.Column
NhapDiem r, c
End Sub
 
Sub NhapDiem(r, c)
c1 = Selection.Column
c2 = Selection.Columns.Count + c1 - 1
If c < c2 Then
  Cells(r, c + 1).Activate
ElseIf c = c2 Then
  Cells(r + 1, c1).Activate
End If
End Sub
 

File đính kèm

Chào bạn tedaynui,

Trong thực tế, điểm kiểm tra của học sinh có thể là số thập phân. Bạn có thể chỉnh sửa file nhapdiemnhanh một chút nữa không?

Xin cảm ơn
 
phamduylong đã viết:
Bạn có thể dùng Onkey để kiểm tra phím bấm. Để nhập nhanh, tôi quy định số 0, 1, 2, ..., 9 nhập bình thường. Số 10 nhập bằng phím "m".
Chào Long
- Cách của bạn có một hạn chế mà từ lâu mình không khắc phục được. Đó chính là lệnh Onkey chỉ có tác dụng trên bàn phím chữ, những số phần NumPad thì không có tác dụng. Mà nhập điểm thì thường sử dụng bàn phím số Numpad (bên phải) sẽ thuận tiện hơn.
- Mặt khác khi mở file nhập điểm thì không thể đánh chữ được vì hệ thống số từ 1 đến 9 đã bị gán Macro.

TDN
 
thanhle đã viết:
Trong thực tế, điểm kiểm tra của học sinh có thể là số thập phân. Bạn có thể chỉnh sửa file nhapdiemnhanh một chút nữa không?
Chào bạn
Bạn có thể nói rõ cách cho điểm thập phân như thế nào không ? Vì nếu có qui luật thì tất nhiên sẽ thực hiện được. Ví dụ :
1/ Thực hiện được khi :
+ Chỉ là những số nguyên : 8 ; 9 ; 10 ; 6 ; ...
+ phần thập phân chỉ có 1 chữ số : 8.5 ; 6.0 ; 7.5 ...
+ phần thập phân có tối đa 2 chữ số : 2.5 ; 7.25 ; 9.0 ; ... (Theo mình cái này cũng khá phức tạp)
2/ Không thể thực hiện được nếu phần thập phân tùy ý : 9.0 ; 6.25 ; 7.125 ...

TDN
 
phamduylong đã viết:
Bạn có thể dùng Onkey để kiểm tra phím bấm. Để nhập nhanh, tôi quy định số 0, 1, 2, ..., 9 nhập bình thường. Số 10 nhập bằng phím "m".
Hoạt động của Onkey nhu sau:
- Khi mở nhapdiemnhanh01.xls, thủ tục Auto_Open hoạt động và gán Onkey vào các phím và thủ tục tương ứng.
- Bạn chọn trước 1 vùng, nhập điểm vào, ô hoạt động (Activate) sẽ dời từ trái sang phải, từ trên xuống dưới vùng chọn.
- Muốn nhập bình thường bạn phải kết thúc nhapdiemnhanh01.xls hoặc chạy Sub Auto_Close để giải phóng Onkey

File của bác rất hay nhưng hình như hơi dài, bác có thể rút ngắn lại đi nhé.

Thân!
 
thanhle đã viết:
Chào bạn tedaynui,
Trong thực tế, điểm kiểm tra của học sinh có thể là số thập phân. Bạn có thể chỉnh sửa file nhapdiemnhanh một chút nữa không?
Xin cảm ơn
Trong thực tế, điểm kiểm tra (miệng, viết) của học sinh không có phần thập phân. Chỉ có điểm kiểm tra định kỳ (8 tuần, học kỳ I, 24 tuần và học kỳ II) mới lấy phần lẻ.
Trong sổ điểm cá nhân của các giáo viên (ở nơi mình) các điểm kiểm tra mỗi loại (hệ số 1, hệ số 2) luôn được viết trên cùng 1 cột và chỉ cách nhau 1 khoảng trắng.
 
Chào các bạn.
+Lâu nay, trên GPE mình thấy có một số bài viết vận dụng excel trong giáo dục. Để tiện cho các bạn tham khảo, mình gởi Quy chế mới nhất của bộ giáo dục về đánh giá, xếp loại HS ở các trường THCS và THPT đang được áp dụng trong nhà trường hiện nay. ( trong file đính kèm).
+Về vấn đề các bạn đang thảo luận, mình xin có vài ý kiến:
-Về cách nhập điểm: nhập trực tiếp trên sheet tốt hơn nhập trên form. Tuy nhiên phải tìm ra được một biện pháp hoàn chỉnh. Nếu không, thì tạm thời dùng cách của tedaynui.
-Về thiết kế mẫu mã sổ điểm: phải có nhiều cột phân ra 4 vùng (miệng-15'-1tiết trở lên-học kỳ) hoặc 3 vùng ( kiểm tra thường kỳ-kiểm tra định kỳ-kiểm tra học kỳ). Giữa các vùng, không nên có khoảng trắng vì sẽ bất tiện khi nhập điểm. Mỗi vùng có nhiều cột điểm tuỳ theo quy định của từng môn học. Mỗi cột chỉ nhập 1 điểm để tiện việc tính toán.
-Về việc nhập điểm lẻ: theo quy chế, điểm kiểm tra thường kỳ (15') nếu có câu trắc nghiệm thì có thể cho điểm lẻ. Kiểm tra định kỳ và học kỳ có thể cho điểm lẻ. Điểm lẻ chỉ gồm 1 chữ số thập phân sau khi làm tròn số. Các bạn nên áp dụng theo quy chế để xây dựng chương trình mang tính phổ quát.
 

File đính kèm

Trả lời chung các bạn:
1. Có thể rút ngắn macro bằng cách loại bỏ những dòng lặp lại:
Mã:
Sub Muoi()
ActiveCell.Value = 10
NhapDiem
End Sub
 
Sub NhapDiem()
r = ActiveCell.Row
c = ActiveCell.Column
c1 = Selection.Column
c2 = Selection.Columns.Count + c1 - 1
If c < c2 Then
  Cells(r, c + 1).Activate
ElseIf c = c2 Then
  Cells(r + 1, c1).Activate
End If
End Sub
Các macro Khong, Mot, Hai, ... cũng làm như vậy.
2. Để có thể bật tắt chức năng nhập điểm, tôi gán phím tắt vào macro như sau:
Bật: Ctrl+Shift+O mở macro OpenKey
Tắt: Ctrl+Shift+C mở macro Auto_Close, hoặc bạn tắt nhapdiemnhanh2.xls cũng tắt chức năng này.
Các bạn có thể tham khảo thêm trong nhapdiemnhanh2.xls
3. Sử dụng bàn phím số tôi chưa giải quyết được.
 

File đính kèm

Lần chỉnh sửa cuối:
Xin chào
- Mình thấy để thuận tiện, bác nào có file bảng điểm tương đối hoàn chỉnh về hình thức thì ta Up lên rồi mọi người dựa trên file đó xây dựng và góp ý sẽ thuận tiện hơn, đỡ mất thời gian hơn.
- Về phần nhập điểm có điểm lẻ và phần thập phân có một chữ số, mình muốn hỏi thêm là chỉ có #.5 (7.5 ; 6.5 ...) hay là tùy ý ( 6.2 ; 7.1 ; 9.8 ; 4.5 ...) các bác đừng giận vì hỏi linh tinh vì thật tình mình không nắm cách cho điểm THCS. Nếu điểm lẻ chỉ là điểm rưỡi (#.5) thì chắc cũng dễ giải quyết thôi.

TDN
 
Web KT

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

Back
Top Bottom