楼主 wise |
Q:如何使用VBA计算零钞? A:ALT+F11→打开VBE窗口→选中Sheet1工作表,并且在其事件代码里面输入以下代码:
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Application.ScreenUpdating = False
- If Target.Address <> "$B$4" Or Len(Target) < 0 Then
- MsgBox "请在单元格A4中输入金额", 64, "友情提示"
- Exit Sub
- End If
- Target.Offset(0, 1) = Int((Target.Value / 100)) '计算100元
- Target.Offset(0, 2) = Int((Target.Value - Target.Offset(0, 1) * 100) / 50) '计算50元
- Target.Offset(0, 3) = Int((Target.Value - Target.Offset(0, 1) * 100 - Target.Offset(0, 2) * 50) /
- 20) '计算20元
- Target.Offset(0, 4) = Int((Target.Value - Target.Offset(0, 1) * 100 - Target.Offset(0, 2) * 50 -
- Target.Offset(0, 3) * 20) / 10) '计算10元
- Target.Offset(0, 5) = Int((Target.Value - Target.Offset(0, 1) * 100 - Target.Offset(0, 2) * 50 -
- Target.Offset(0, 3) * 20 - Target.Offset(0, 4) * 10) / 5) '计算5元
- Target.Offset(0, 6) = Int((Target.Value - Target.Offset(0, 1) * 100 - Target.Offset(0, 2) * 50 -
- Target.Offset(0, 3) * 20 - Target.Offset(0, 4) * 10 - Target.Offset(0, 5) * 5) / 2) '计算2元
- Target.Offset(0, 7) = Int((Target.Value - Target.Offset(0, 1) * 100 - Target.Offset(0, 2) * 50 -
- Target.Offset(0, 3) * 20 - Target.Offset(0, 4) * 10 - Target.Offset(0, 5) * 5 - Target.Offset(0, 6)
- * 2)) '计算1元
- Application.ScreenUpdating = True
- End Sub
test.rar |