Huanphc
Thành viên mới

- Tham gia
- 9/1/19
- Bài viết
- 3
- Được thích
- 0
Kính gửi anh chị em,
Mình cũng lượm lặt vài bài viết, nhưng làm hoài chưa được. Nhờ anh chị giúp mình file sau
Yêu cầu mình cũng đơn giản là bảng tính thông thường vẫn nhập số để tính được. Còn khi mình muốn tự động phân bổ tiền thì nhập vào ô C21 thì sẽ tự động phân bổ từ mệnh giá lớn đến nhỏ. Nhưng 0 hiểu có gì sai mà khi mình nhập vào xong luôn bị xóa dữ liệu của ô A4
À và mình muốn nhờ giúp thêm là sau khi đã phân bổ ví dụ 1tr = 2 tờ 500 nhưng mình sửa số tờ 500 thành 1 thì lại tự phân bổ tiếp thành 1 tờ 500 2 tờ 200 1 tờ 100
Mình cũng lượm lặt vài bài viết, nhưng làm hoài chưa được. Nhờ anh chị giúp mình file sau
Yêu cầu mình cũng đơn giản là bảng tính thông thường vẫn nhập số để tính được. Còn khi mình muốn tự động phân bổ tiền thì nhập vào ô C21 thì sẽ tự động phân bổ từ mệnh giá lớn đến nhỏ. Nhưng 0 hiểu có gì sai mà khi mình nhập vào xong luôn bị xóa dữ liệu của ô A4
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("C21")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
Dim TongMoi As Double
Range("B4:B14").Value = 0
Range("$C$18").Value = 0
Select Case Target.Address
Case "$C$21"
Application.EnableEvents = False
Range("$B$4").Value = Application.WorksheetFunction.RoundDown(Range("$C$21").Value / Range("$A$4").Value, 0)
TongMoi = Range("$C$21").Value
TongMoi = Abs(TongMoi) - (Range("$A$4").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$4").Value), 0))
Range("$B$5").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$5").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$5").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$5").Value), 0))
Range("$B$6").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$6").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$6").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$6").Value), 0))
Range("$B$7").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$7").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$7").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$7").Value), 0))
Range("$B$8").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$8").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$8").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$8").Value), 0))
Range("$B$9").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$9").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$9").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$9").Value), 0))
Range("$B$10").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$10").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$10").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$10").Value), 0))
Range("$B$11").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$11").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$11").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$11").Value), 0))
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$4"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value
Range("$B$5").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$5").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$5").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$5").Value), 0))
Range("$B$6").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$6").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$6").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$6").Value), 0))
Range("$B$7").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$7").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$7").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$7").Value), 0))
Range("$B$8").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$8").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$8").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$8").Value), 0))
Range("$B$9").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$9").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$9").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$9").Value), 0))
Range("$B$10").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$10").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$10").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$10").Value), 0))
Range("$B$11").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$11").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$11").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$11").Value), 0))
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$5"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value
Range("$B$6").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$6").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$6").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$6").Value), 0))
Range("$B$7").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$7").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$7").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$7").Value), 0))
Range("$B$8").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$8").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$8").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$8").Value), 0))
Range("$B$9").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$9").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$9").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$9").Value), 0))
Range("$B$10").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$10").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$10").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$10").Value), 0))
Range("$B$11").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$11").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$11").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$11").Value), 0))
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$6"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value
Range("$B$7").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$7").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$7").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$7").Value), 0))
Range("$B$8").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$8").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$8").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$8").Value), 0))
Range("$B$9").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$9").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$9").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$9").Value), 0))
Range("$B$10").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$10").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$10").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$10").Value), 0))
Range("$B$11").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$11").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$11").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$11").Value), 0))
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$7"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value - Range("$C$7").Value
Range("$B$8").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$8").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$8").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$8").Value), 0))
Range("$B$9").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$9").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$9").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$9").Value), 0))
Range("$B$10").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$10").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$10").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$10").Value), 0))
Range("$B$11").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$11").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$11").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$11").Value), 0))
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$8"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value - Range("$C$7").Value - Range("$C$8").Value
Range("$B$9").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$9").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$9").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$9").Value), 0))
Range("$B$10").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$10").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$10").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$10").Value), 0))
Range("$B$11").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$11").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$11").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$11").Value), 0))
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$9"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value - Range("$C$7").Value - Range("$C$8").Value - Range("$C$9").Value
Range("$B$10").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$10").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$10").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$10").Value), 0))
Range("$B$11").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$11").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$11").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$11").Value), 0))
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$10"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value - Range("$C$7").Value - Range("$C$8").Value - Range("$C$9").Value - Range("$C$10").Value
Range("$B$11").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$11").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$11").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$11").Value), 0))
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$11"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value - Range("$C$7").Value - Range("$C$8").Value - Range("$C$9").Value - Range("$C$10").Value - Range("$C$11").Value
Range("$B$12").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$12").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$12").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$12").Value), 0))
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$12"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value - Range("$C$7").Value - Range("$C$8").Value - Range("$C$9").Value - Range("$C$10").Value - Range("$C$11").Value - Range("$C$12").Value
Range("$B$13").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$13").Value), 0)
TongMoi = Abs(TongMoi) - (Range("$A$13").Value * Application.WorksheetFunction.RoundDown((Abs(TongMoi) / Range("$A$13").Value), 0))
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$13"
Application.EnableEvents = False
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value - Range("$C$7").Value - Range("$C$8").Value - Range("$C$9").Value - Range("$C$10").Value - Range("$C$11").Value - Range("$C$12").Value - Range("$C$13").Value
Range("$A$4").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
Case "$B$14"
Application.EnableEvents = False
MsgBox ("khong the dieu chinh")
TongMoi = Range("$C$21").Value - Range("$C$4").Value - Range("$C$5").Value - Range("$C$6").Value - Range("$C$7").Value - Range("$C$8").Value - Range("$C$9").Value - Range("$C$10").Value - Range("$C$11").Value - Range("$C$12").Value - Range("$C$13").Value
Range("$B$14").Value = Application.WorksheetFunction.RoundDown((TongMoi / Range("$A$14").Value), 0)
Application.EnableEvents = True
End Select
End If
End Sub
Bài đã được tự động gộp:
À và mình muốn nhờ giúp thêm là sau khi đã phân bổ ví dụ 1tr = 2 tờ 500 nhưng mình sửa số tờ 500 thành 1 thì lại tự phân bổ tiếp thành 1 tờ 500 2 tờ 200 1 tờ 100
File đính kèm
Lần chỉnh sửa cuối: