Thắc mắc về nhập dữ liệu. (2 người xem)

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

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

dunkie

Thành viên mới
Tham gia
4/4/09
Bài viết
3
Được thích
0
Tình hình là tớ đang muốn nhập điểm cho tất cả học sinh cho 1 môn trong cùng một sheet. Nhưng vấn đề là khi nhập thì sẽ chọn từng hs theo list và nhập điểm vô 1 cell cho sẵn và điểm đó sẽ được lưu lại trong bảng điểm chứ ko nhập thẳng vô bảng điểm. Ví dụ cho dễ hình dung là cái sheet của tớ nó thế này:
A1
A2

A3(Hs1) B3(Điểm hs1)
A4(HS2) B4(Điểm hs2)
A5(Hs3) B5(Điểm hs3)

A1 là list tất cả hs, sau khi chon hs rôi thì sẽ xuống a2 để nhập điểm cho hs đó. Có cách nào để sau khi chọn hs1 xong và nhập điểm của hs1 thì điểm sẽ lưu lại vào cell của "điểm hs1" dưới dạng value và Lần lượt như thế cho những hs còn lại ko? Tớ đã thử dùng hàm b3=if(a3=a1, a2,b3) nhưng ko được và sẽ mắc lỗi xoay vòng. Mấy bạn giúp tớ được ko?
 
Bạn xem trong file đính kèm thêm nha!

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [A2]) Is Nothing Then
    Dim Rng As Range, sRng As Range
    Set Rng = Range([A4], [A4].End(xlDown))
    Set sRng = Rng.Find([a1].Value, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then _
        sRng.Offset(, 1).Value = Target.Value
 End If
End Sub
 

File đính kèm

Cám ơn HY rất nhiều. Tớ lại có một vấn đề mới là nếu tớ có nhiều hơn 1 môn thì sao?
Sheet tớ hiện giờ có dạng
A1
A2 B2
A3 B3 C3
A4 B4 C4
Tớ đã thử copy code của HY thành nhiều lần nhưng ko được. Bạn giúp mình với nhé.
 
Cám ơn HY rất nhiều. Tớ lại có một vấn đề mới là nếu tớ có nhiều hơn 1 môn thì sao?
Sheet tớ hiện giờ có dạng
A1
A2 B2
A3 B3 C3
A4 B4 C4
Tớ đã thử copy code của HY thành nhiều lần nhưng ko được. Bạn giúp mình với nhé.
File của anh HYen17 chỉ là giả lập giúp bạn... nếu bạn không thể tùy biến được thì phải đưa file thật lên chứ ---> Đở mất công cho mọi người
 
Tớ lại có một vấn đề mới là nếu tớ có nhiều hơn 1 môn thì sao?
Sheet tớ hiện giờ có dạng Bạn giúp mình với nhé.
Mình sẽ chỉ đạo từ xa, bạn làm theo nha:

(*) Lấy file mình đã giả lập trên, Mở trang tính 'S0'
(*) Nhập các trị tương ứng vố các ô từ 'B3' -> 'J3': "Toan", "Ly", "Hoa", "Sinh", . . .
(*) Tô chọn vùng này, Nhấp chuột vô ngăn trái nhất của thanh công cụ chứa thanh công thức, nhấp vô đó tên 'MHoc'
(*) Chọn [B1], vô menu Data, & áp đặt Validation vô ô này là 'MHoc' vừa tạo. (Cũng giống như 2 cái Validation đã có sẵn tại [A1] & [A2]
(*) Chép macro này thay cho macro trước đây:
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [A2]) Is Nothing Then
    Dim Rng As Range, sRng As Range:          Dim Mon As String, Col As Byte
    
    Mon = [b1].Value
    Set Rng = Range([A4], [A4].End(xlDown))
5    Col = CInt(Switch(Mon = "toan", "1", Mon = "Ly", "2", Mon = "Hoa", "3", Mon = "Sinh", "4" _
        , Mon = "Van", "5", Mon = "Su", "6", Mon = "Dia", "7", Mon = "NNgu", "8", Mon = "Khac", "9"))
        Set sRng = Rng.Find([a1].Value, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then sRng.Offset(, Col).Value = Target.Value
 End If
End Sub
(Hiện đang chỉ 9 môn học như dòng lệnh 5 thể hiện, bạn có thể chế tác khác cho phù hợp)
(*) Trước khi chọn điểm, ta phải chọn môn học; & chỉ khi chọn [A2] thì điểm sẽ được gán đúng chổ!

Tớ tin chắc cậu sẽ làm được theo hướng dẫn! Ha, Ha . . . :-= --=0
 
Cám ơn HY rất nhiều. Tớ lại có một vấn đề mới là nếu tớ có nhiều hơn 1 môn thì sao?
Sheet tớ hiện giờ có dạng
A1
A2 B2
A3 B3 C3
A4 B4 C4
Tớ đã thử copy code của HY thành nhiều lần nhưng ko được. Bạn giúp mình với nhé.
Tôi có trò chơi này cho mọi người. Với yêu cầu như trên tôi làm cho bạn 1 file chỉ toàn name và Object, ko macro, ko công thức luôn!
Xem file nhé! (chỉ là nghiên cứu chơi thôi, dù sao VBA vẫn tốt hơn)
Hi... hi...
 

File đính kèm

Cám ơn mọi người (nhất là HYen) nhé, tớ làm được rồi.
Cái form cua anhtuan viết hay thật, anh làm thế nào vậy? chỉ em được ko?
 
Cám ơn mọi người (nhất là HYen) nhé, tớ làm được rồi.
Cái form cua anhtuan viết hay thật, anh làm thế nào vậy? chỉ em được ko?
Bạn bấm Ctrl + F3 để vào Define name, sẽ thấy có 5 Link. Mỗi link ứng với 1 Object. Có nghĩa là CellLink của mỗi object là 1 tham chiếu động (tùy thuộc vào việc việc bạn chọn ComboBox)
Dể lắm, bạn nghiên cứu từ từ sẽ hiểu ngay (file ko có tí code này cả)
 
Web KT

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

Back
Top Bottom