Khống chế nhập số liệu (1 người xem)

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

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

trungnt

Thành viên hoạt động
Tham gia
2/2/07
Bài viết
135
Được thích
88
Tôi muốn khống chế nhập số liệu trên 1 ô nào đó trong excel là số thôi, còn lỡ nhập chữ hay các ký tự khác thì hiện thị dòng thông báo lỗi. Nhưng tham khảo tài liệu từ nguồn giaiphapexcel.com thì chỉ giải quyết được khi nhập trong textbox mà thôi bằng cách khống chế trong bảng mã của Ascii còn trên ô cell thì không thấy có. Có bác nào biết xin chỉ giúp tôi .......... tôi cám ơn nhìu nhìu.
 
Mã:
Option Explicit

' This is a simple example of using the OnEntry property.  The Auto_Open sub calls the Action
' sub.  The font is set to bold in the ActiveCell if the value is >= 500.  Thus if the value is >=500,
' then ActiveCell.Font.Bold = True.  If the value is less than 500, then ActiveCell.Font.Bold = False.
' The Auto_Close sub "turns off" OnEntry.

Sub Auto_Open()
ActiveSheet.OnEntry = "Action"
End Sub


Sub Action1()
If Not IsNumeric(ActiveCell) Then
    'ActiveCell.Font.Bold = ActiveCell.Value >= 500
    MsgBox " du lieu ban voa khong phia la so"
End If
End Sub
Sub Action()
If Not IsNumeric(ActiveCell) Then
    'ActiveCell.Font.Bold = ActiveCell.Value >= 500
    MsgBox " du lieu ban voa khong phia la so, hay voa lai du lieu"
    ActiveCell = ""
End If
End Sub
Sub Auto_Close()
ActiveSheet.OnEntry = ""
End Sub
 
Upvote 0
Dùng Validation. Trên diễn đàn nói rất nhiều.
 
Upvote 0
Đúng rồi... bạn dùng Validation là giãi pháp nhẹ nhàng nhất, với d/k Validation là =ISTEXT(Cell cần đặt điều kiện)=FALSE
 
Upvote 0
Thêm một tham khảo, nha

PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not IsNumeric(Target) Then
    MsgBox "BAN CAN NHAP KY SO!"
    Target = 0
 End If
    Target.Select
End Sub
@$@!^%
 
Upvote 0
Tôi cũng có 1 code hao hao giống với của anh SA:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A1:D20"), Target) Is Nothing Then
        If IsNumeric(Target.Value) = False Then
        MsgBox "Yeu cau nhap du lieu dang so"
        Target.ClearContents
        End If
    End If
End Sub
Vùng hoạt động của code là từ A1 đến D20... (Ở đây nếu phát hiện cell nhập liệu là text thì xóa luôn nội dung cell chứ ko gán giá trị =0)
ANH TUẤN
 
Upvote 0
Anh Tuấn ơi em muốn khống chế Cái cột ngày sinh chỉ cho phép nhập kiểu ngày/tháng/năm thôi không cho nhập số nguyên hay chuổi gì cả thì công thức khống chế sao anh. Help em cái anh ơi. Thanks anh nhiều nhiều
 
Upvote 0
Tôi cũng có 1 code hao hao giống với của anh SA:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A1:D20"), Target) Is Nothing Then
        If IsNumeric(Target.Value) = False Then
        MsgBox "Yeu cau nhap du lieu dang so"
        Target.ClearContents
        End If
    End If
End Sub
Vùng hoạt động của code là từ A1 đến D20... (Ở đây nếu phát hiện cell nhập liệu là text thì xóa luôn nội dung cell chứ ko gán giá trị =0)
ANH TUẤN

Chào anh,

Em là người mới, thấy yêu cầu này em cũng đang cần nhưng em vẫn không biết làm sao để sử dụng đoạn code trên (dán đoạn code trên vào đâu ạ !?)
 
Upvote 0
Chào anh,

Em là người mới, thấy yêu cầu này em cũng đang cần nhưng em vẫn không biết làm sao để sử dụng đoạn code trên (dán đoạn code trên vào đâu ạ !?)
Bạn chọn tên Sheet muốn chạy code, Click fải, chọn View code bạn thấy cửa sổ Visual Basic, rồi dán code trên vào Khung lớn (bên tay fài)
 
Upvote 0
Em cũng đang gặp nhiều rắc rối về vấn đề này nhất là khi Copy ở chỗ khác paste vào ô đã định dạng generl cho dù lả paste values thì ô đó vẫn không giữ nguyên được định dạng nhiều khi thành text . Nhờ các Bác chỉ cho em biết làm cách nào để khi gõ hoặc paste dữ liệu vào mà ô đó vẫn dữ nguyên định dạng general ?
Cản ơn các nhiều./.
 
Upvote 0
Em cũng đang gặp nhiều rắc rối về vấn đề này nhất là khi Copy ở chỗ khác paste vào ô đã định dạng generl cho dù lả paste values thì ô đó vẫn không giữ nguyên được định dạng nhiều khi thành text . Nhờ các Bác chỉ cho em biết làm cách nào để khi gõ hoặc paste dữ liệu vào mà ô đó vẫn dữ nguyên định dạng general ?
Cản ơn các nhiều./.
Điều đơn giản nhất là dán thoải mái, xong định dạng lại thành kiểu bạn thích.
 
Upvote 0

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

Back
Top Bottom