Tính % sau khi nhập trong cùng 1 ô (1 người xem)

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

bdkhoi296

Thành viên mới
Tham gia
13/11/07
Bài viết
1
Được thích
0
Mình muốn nhập điểm và ô A1, nhưng sau khi nhập xong thì điểm tự động giảm 20% cũng trong ô A1. Nhờ các bạn chỉ dùm. Cám ơn các bạn
 
Mình muốn nhập điểm và ô A1, nhưng sau khi nhập xong thì điểm tự động giảm 20% cũng trong ô A1. Nhờ các bạn chỉ dùm. Cám ơn các bạn

cái này phải xài vba
bạn làm như sau:
1-nhấn phím Alt F11 mở cửa sổ vbe
2-bạn thấy bên tay trái là các sheet, muốn áp dụng cho sheet nào thì click vào sheet đó, muốn áp dụng cho toàn file thì nhấp vào thisworkbook
3- chép đoạn code sau đây vào cửa sổ bên phải
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cll As Range
Application.EnableEvents = False
If Not Intersect(Target, [a1:a100]) Is Nothing Then
    For Each cll In Intersect(Target, [a1:a100])
        If IsNumeric(cll) Then cll = cll * 0.8
    Next
End If
Application.EnableEvents = True
End Sub
khi bạn gõ trong vùng A1 đến A100 sẻ tự động giảm xuống 20%
 
Và cái kết là mỗi lần Focus vào ô, hay F2, click ........Enter 1 phát là cứ giảm 20%..........kakakaka--=0--=0--=0--=0--=0--=0
....

Đến lúc không biết đâu mà lần............là đã làm gì với dữ liệu của mình.........hahaha

tuy theo yêu cầu mà làm
Mã:
Dim oval As Variant

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a1:a100]) Is Nothing Then
    oval = Target.Value
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cll As Range
Application.EnableEvents = False
If Not Intersect(Target, [a1:a100]) Is Nothing Then
    For Each cll In Intersect(Target, [a1:a100])
        If Target.Count = 1 Then
            If IsNumeric(cll) And Target.Value <> oval Then cll = cll * 0.8
        Else
            If IsNumeric(cll) Then cll = cll * 0.8
        End If
    Next
End If
Application.EnableEvents = True
End Sub
 

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

Back
Top Bottom