hoangduy_90
Thành viên mới
- Tham gia
- 7/8/08
- Bài viết
- 14
- Được thích
- 0
Chào các bạn. Các bạn cho mình hỏi làm sao để khi nhập số nguyên thì excel hiển thị số thập phân (ví dụ: nhập 88, hiển thị 8.8). Cảm ơn các bạn nhiều lăm.
Sao phải làm như vậy nhỉ? Bạn lười nhập liệu chăng?? Có một cách đơn giản cho bạn. Tạo một cột phụ. lập công thức bằng giá trị cột chính chia cho 10. Nhập liệu xong copy cột phụ Paste Special vào cột chính.Chào các bạn. Các bạn cho mình hỏi làm sao để khi nhập số nguyên thì excel hiển thị số thập phân (ví dụ: nhập 88, hiển thị 8.8). Cảm ơn các bạn nhiều lăm.
Có 1 cách đơn giản hơn. Bạn gõ vào 1 ô nào đó số 0.1 -- copy--chọn toàn bộ vùng cần đổi--PasteSpeacial--Multiply--OK
Bạn làm như sau:mình thì bị ngược lại nhập 44182 thì máy nó thành 441.82 bác nào help với
Excell 2k7 nhé
Bài #8 hướng dẫn như thế nào, bạn làm ngược lại là đượcCác bạn cho mình hỏi làm sao để khi nhập số 1000 excel hiển thị số 1.0 or 500 excel hiển thị số 0.5
Tôi nghĩ bạn là giáo viên và bạn muốn nhanh điểm đúng không? Bạn chép code sau vào sheet cần nhập điểm nhé! Code trong file tôi đang để ở sheet1.mình cũng có yêu cầu như vậy nè...bạn nào có code giúp mình với nha.thanks
Option Explicit
Public Sub WorkSheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1:IV65500]) Is Nothing Then
If Target <= 10 Then
Target = Target
Else
Target = Target / 10
End If
End If
End Sub
Option Explicit
Public Sub WorkSheet_Change(ByVal Target As Range)
On Error Resume Next
Dim rng As Range
If Not Intersect(Target, [A1:IV65500]) Is Nothing Then
If IsNumeric(Target) And Target > 10 Then
Target = Target / 10
Else
Target = Target
End If
End If
End Sub
Vì bạn dùng sự kiện Change nên phải dùng thêm dòng lệnh này sau If not ...Sửa lại code 1 tý, thêm điều kiện cho target.
Mã:Option Explicit Public Sub WorkSheet_Change(ByVal Target As Range) On Error Resume Next Dim rng As Range If Not Intersect(Target, [A1:IV65500]) Is Nothing Then If IsNumeric(Target) And Target > 10 Then Target = Target / 10 Else Target = Target End If End If End Sub
Application.EnableEvents = False
Public Sub WorkSheet_Change(ByVal Target As Range)
If IsNumeric(Target) And Abs(Target) > 10 Then
Application.EnableEvents = False
Target = Target / 10
End If
Application.EnableEvents = True
End Sub
Thực ra thì chuyện thêm Application.EnableEvents tôi có nghĩ đến. Nhưng giả sử trường hợp tác giả muốn nhập điểm lẻ 7.25 thì code của bạn lại không đáp ứng được vì target nó chỉ bị thay đổi giá trị 1 lần. Nếu nhập 725 thì nó sẽ là 72.5.Vì bạn dùng sự kiện Change nên phải dùng thêm dòng lệnh này sau If not ...
Để Target chỉ Change 1 lần thôi, nếu không sẽ Change "vô tận".Mã:Application.EnableEvents = False
Với lại khỏi cần gán vùng cho Target ... vì làm luôn cho bảng tính.Mã:Public Sub WorkSheet_Change(ByVal Target As Range) If IsNumeric(Target) And Abs(Target) > 10 Then Application.EnableEvents = False Target = Target / 10 End If Application.EnableEvents = True End Sub
Thêm nữa code của bạn nó không cho nhập Text, bạn thử nhập gì gì đó, ví dụ bạn nhập dòng "tại sao mình không nhập được text nhỉ???" xem sao? Và còn nữa, bạn thử chọn 1 vùng nhiều hơn 1 ô và bấm delete xem điều gì sẽ xảy ra!Vì bạn dùng sự kiện Change nên phải dùng thêm dòng lệnh này sau If not ...
Để Target chỉ Change 1 lần thôi, nếu không sẽ Change "vô tận".Mã:Application.EnableEvents = False
Với lại khỏi cần gán vùng cho Target ... vì làm luôn cho bảng tính.Mã:Public Sub WorkSheet_Change(ByVal Target As Range) If IsNumeric(Target) And Abs(Target) > 10 Then Application.EnableEvents = False Target = Target / 10 End If Application.EnableEvents = True End Sub
Tôi lỡ tay xóa dòng On Error Resume Next thôi.Thêm nữa code của bạn nó không cho nhập Text, bạn thử nhập gì gì đó, ví dụ bạn nhập dòng "tại sao mình không nhập được text nhỉ???" xem sao? Và còn nữa, bạn thử chọn 1 vùng nhiều hơn 1 ô và bấm delete xem điều gì sẽ xảy ra!