làm sao để nhập nhanh số thập phân trong excel

Liên hệ QC

phanluan

Thành viên mới
Tham gia
21/5/07
Bài viết
2
Được thích
2
Tôi có một bảng tính và nhập dữ liệu số thập phân rất nhiều. ai biết cách làm sao để khi nhập vào là 75 và enter thì số vừa nhập sẽ chuyển thành 7.5 giúp em với. Em xin cảm ơn nhiều
Email: phamgiangvan@yahoo.com
 
Bạn vào Tools/ Options chọn tab View.
Đánh dấu vào hộp kiểm Fixed decimal
Trong hộp Places bạn đạt giá trị là 1
Nhấn OK để đóng hộp thoại.
Bắt đầu tiến hành việc nhập số liệu.
 
Em xin đính chính: Hãy tìm trong tab Edit
 
Sử dụng chức năng này để nhập điểm thi thì rất tốt. Nhưng muốn quy định chỉ có tác dụng trong từng vùng cụ thể và số không vượt ngoài khoảng [min, max] thì làm thế nào?
 
Chỉ mình với mình chưa làm được
Như hình dưới với Excel 2010. Số 1 ở Places dưới mục Automatically insert a decimal point tương ứng với việc nhập số 1 nhấn Enter thì sẽ thành 0,1, tương tự với nhập các số tự nhiên >1. Muốn bỏ chế độ này thì bỏ dấu tích / OK
nchfsd.PNG
 
Thì lại dùng VBA gánh :))))
Chưa cần VBA. Kết hợp với validation là được.
Tuy vậy cách này vẫn phải theo quy định là số điểm tròn phải gõ kèm số 0, chẳng hạn 10, 20, 30, ..., 80, 90, 100. Tự động lấy 1 số thập phân mới ra 1, 2, 3, ..., 9, 10
 
Số thập phân nhập nhanh nhất, và hiệu quả nhất là mua cái bàn phím có phần numpad riêng. Chỉnh sửa này nọ chỉ là giải pháp tạm.
 
Dùng VBA.
Bắt chước trang này:

Screen Shot 2024-07-29 at 22.20.10.png


JavaScript:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo EH
   
    Application.EnableEvents = False
   
    Dim Cell As Range, TargetRange As Range
   
    ' Thiet lap vung nhap so can xu ly tu dong decimal
    Set TargetRange = Me.Range("A2:A10")
    If Not Intersect(Target, TargetRange) Is Nothing Then
        For Each Cell In Target
            ' Bo qua su kien khi xoa nguyen cot --> se chay vong lap het 1.048.576 dong
            If Target.Cells.Count > 1 Then
                Application.EnableEvents = True
                Exit Sub
            End If
            ' Nhap 4 chu so => >10
            If IsNumeric(Cell.Value) And Len(Cell.Value) > 3 Then
                MsgBox "So lon hon thang diem 10."
                Cell.Value = ""
                Application.EnableEvents = True
                Exit Sub
            End If
           
            If IsNumeric(Cell.Value) And Cell.Value <> 10 Then
                Select Case Len(Cell.Value)
                    Case 2
                        Cell.Value = Cell.Value / 10
                    Case 3
                        Cell.Value = Cell.Value / 100
                End Select
            ElseIf Not IsNumeric(Cell.Value) Then   'Nhap chu
                Cell.Value = ""
            End If
        Next Cell
    End If
   
EH_Exit:
    Application.EnableEvents = True
    Exit Sub
   
EH:
    MsgBox "An error occurred: " & Err.Description
    Resume EH_Exit
   
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Có cái bẫy lỗi ở đây anh.
Tôi sai. Vậy phải có hướng dẫn rằng điểm tròn chỉ gõ 1 con, riêng điểm 10 tròn gõ 2 con, điểm thập phân tối đa 2 thập phân, chỉ gõ 3 con.
Số thập phân nhập nhanh nhất, và hiệu quả nhất là mua cái bàn phím có phần numpad riêng. Chỉnh sửa này nọ chỉ là giải pháp tạm.
Từ hồi gõ máy tính Casio là đã tập gõ nhanh được rồi. Máy tính bàn thì không nói (có sẵn numpad), laptop thì người thường xuyên gõ số như tôi thì chọn mua loại có numpad sẵn. Code này nọ tưởng nhanh mà sẽ chậm chỗ khác, mà qua máy khác làm không có code thì lại lúng túng càng sinh ra chậm.
 
Lần chỉnh sửa cuối:
Dùng VBA.
Bắt chước trang này:

Dùng phương pháp, nhập trực tiếp tại ô dữ liệu thế này sẽ hay hơn sự kiện Worksheet_SelectionChange đó anh. Hiện tại em đang rà soát lỗi trong mã. Khả năng xảy ra lỗi nghiêm trọng cao.

Phương pháp này chỉ cần nhập số, xuống dòng, sang cột đều tự động.

cellFastInput.gif

Phương pháp này như trong Add-in nhập liệu của anh Tuân. Nhập liệu tại chính ô đang hiện trỏ văn bản.
Nhưng chỉ cần lập trình trong mã VBA.
Liên kết: https://www.youtube.com/watch?v=KieO0fCWdi8
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom