Hỏi cách sử dụng check box trong excel

Liên hệ QC

rain.nguyen

Thành viên mới
Tham gia
16/1/17
Bài viết
23
Được thích
0
Dear các tiền bối,
Sau một hồi lần mò về checkbox, không thể tìm ra được giải pháp đáp ứng cho nhu cầu, em lên đây nhờ các bác giải đáp/giúp đỡ hộ trường hợp của em
Cụ thể như sau:
- Em đã insert checkbox từ form control của checkbox
-Do muốn lấy giá trị của ô checkbox để dùng cho hàm if ở cột khác, em gán giá trị ô check box (cell link) tới đúng cell e đặt checkbox, ở đây giả sử là cell A1, hàm if em sẽ dùng hàm if so sánh A1=TRUE để ra kết quả.
-Vấn đề là có khoảng mấy trăm ô checkbox, và có mấy trăm ô sử dụng hàm if tương ứng như trên, em chỉ có thể làm thủ công việc cell link cho từng checkbox một, chứ khi sử dụng fill handle, giá trị cell link không tự tăng lên. Ví dụ checkbox1 ở A1, checkbox2 ở A2... đã cell link checkbox1 cho A1, checkbox2 cho A2, nhưng khi fill handle xuống A3, A4, A5... thì checkbox3 cell link ngược lại A1, checkbox4 cell link ngược lại A2, rồi lặp lại liên tục chứ không tăng lên.
Các tiền bối có cao kiến nào về vấn đề này không ạ. Em xin cảm ơn.

UPDATE: đã tải file excel lên
Như trong file excel đính kèm, checkbox1 em cell link vào E5, checkbox2 em cell link vào E6.. giá trị cột I và cột J thay đổi theo giá trị cột E, giá trị cột E tùy thuộc vào giá trị ô checkbox.
Do đây là file tổng hợp báo cáo cả năm, ngày nào cũng có thêm báo cáo, cho nên số lượng sẽ càng ngày càng nhiều, và các ô check box khi fill handle xuống theo cột E, giá trị cell link không tự tăng theo cell E tương ứng, dẫn đến giá trị các cột I và J không đúng.
Mong muốn của em là không phải cell link từng checkbox thủ công cho từng cell E.
 

File đính kèm

  • NCR LIST.xlsx
    15.6 KB · Đọc: 22
Lần chỉnh sửa cuối:
Dear các tiền bối,
Sau một hồi lần mò về checkbox, không thể tìm ra được giải pháp đáp ứng cho nhu cầu, em lên đây nhờ các bác giải đáp/giúp đỡ hộ trường hợp của em
Cụ thể như sau:
- Em đã insert checkbox từ form control của checkbox
-Do muốn lấy giá trị của ô checkbox để dùng cho hàm if ở cột khác, em gán giá trị ô check box (cell link) tới đúng cell e đặt checkbox, ở đây giả sử là cell A1, hàm if em sẽ dùng hàm if so sánh A1=TRUE để ra kết quả.
-Vấn đề là có khoảng mấy trăm ô checkbox, và có mấy trăm ô sử dụng hàm if tương ứng như trên, em chỉ có thể làm thủ công việc cell link cho từng checkbox một, chứ khi sử dụng fill handle, giá trị cell link không tự tăng lên. Ví dụ checkbox1 ở A1, checkbox2 ở A2... đã cell link checkbox1 cho A1, checkbox2 cho A2, nhưng khi fill handle xuống A3, A4, A5... thì checkbox3 cell link ngược lại A1, checkbox4 cell link ngược lại A2, rồi lặp lại liên tục chứ không tăng lên.
Các tiền bối có cao kiến nào về vấn đề này không ạ. Em xin cảm ơn.
cái này xem thực tế mới đoán được vấn đề và làm, nhưng nếu quá nhiều chắc box chắc phải sử dụng đến VBA, bạn có thể tải file lên mọi người sẽ giúp bạn
 
Em đã update file lên và ghi rõ hơn, các tiền bối có gì xem và giúp đỡ hộ em
 

File đính kèm

  • NCR LIST.xlsm
    21.8 KB · Đọc: 74
Mình đưa ra giải pháp dùng macro thế này vừa nhẹ file, lại không phải copy mấy cái checkbox .Bạn xem có được không nhé!
Cách của bạn hay quá, mình chỉ biết macro đơn giản như tạo chuỗi hành động như tô màu, viết in hoa ..thôi, chứ tạo macro hành động cho chuột thì không biết. Bạn có thể nói rõ cho mình thêm chút được không, vì file của bạn mình tải về, checkbox đổi thành hình ngôi sao, mình không biết sửa lại làm sao cả @@. So many thanks!
 
Cách của bạn hay quá, mình chỉ biết macro đơn giản như tạo chuỗi hành động như tô màu, viết in hoa ..thôi, chứ tạo macro hành động cho chuột thì không biết. Bạn có thể nói rõ cho mình thêm chút được không, vì file của bạn mình tải về, checkbox đổi thành hình ngôi sao, mình không biết sửa lại làm sao cả @@. So many thanks!
Máy tính của bạn có fonts "Wingdings" không ? mình dùng ký tự trong bộ fonts đó thôi.
có lẽ máy bạn thiếu fonts đó.
Tìm trên mạng tải về cài đặt nhé!
Hoặc có thể tìm trong symbol xem có hình nào như check box thì thay thế
PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)' 'đây là code dựa vào sự kiện DoubleClick chuột
Application.ScreenUpdating = False
If Not Intersect(Sheet1.Range("E5:E40"), Target) Is Nothing Then
     If Sheet1.Cells((Target.Row), 5) = "þ" Then    ' "þ"=> ký tự như checkbox(True)trong bộ fonts wingdings
        Sheet1.Cells((Target.Row), 5) = "o"            ' "o" = > ký tự như checkbox(False) trong bộ fonts wingdings
        Sheet1.Cells((Target.Row), 5).Font.Color = 1
          Else
        Sheet1.Cells((Target.Row), 5) = "þ"
        Sheet1.Cells((Target.Row), 5).Font.Color = 225 'màu đỏ
     End If
        Cancel = True
 End If
 Application.ScreenUpdating = True
End Sub
 
cảm ơn bạn rất nhiều, rất chi tiết :D
 
Máy tính của bạn có fonts "Wingdings" không ? mình dùng ký tự trong bộ fonts đó thôi.
có lẽ máy bạn thiếu fonts đó.
Tìm trên mạng tải về cài đặt nhé!
Hoặc có thể tìm trong symbol xem có hình nào như check box thì thay thế
PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)' 'đây là code dựa vào sự kiện DoubleClick chuột
Application.ScreenUpdating = False
If Not Intersect(Sheet1.Range("E5:E40"), Target) Is Nothing Then
     If Sheet1.Cells((Target.Row), 5) = "þ" Then    ' "þ"=> ký tự như checkbox(True)trong bộ fonts wingdings
        Sheet1.Cells((Target.Row), 5) = "o"            ' "o" = > ký tự như checkbox(False) trong bộ fonts wingdings
        Sheet1.Cells((Target.Row), 5).Font.Color = 1
          Else
        Sheet1.Cells((Target.Row), 5) = "þ"
        Sheet1.Cells((Target.Row), 5).Font.Color = 225 'màu đỏ
     End If
        Cancel = True
 End If
 Application.ScreenUpdating = True
End Sub
Hế lô bạn, kiểm tra lại thì có font wingdings, tuy nhiên ký tự þ mình không thể nhập trong phần code ~.~ cứ copy paste lại hiện dấu ?; bạn có cao kiến gì giúp mình không. Thank you!
 
Web KT

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

Back
Top Bottom