本例为工作中特殊需要,非银行给付利息方式:

Private Function CDI_Rate1000(ByVal Year As Integer) As Long
'{1,2,7,8,11,12},{99,72,81,36,50,35}
Dim Rate As Single
Select Case (Year - 2000)Case Is < 0:Rate = 0Case 0 To 1:Rate = 0.99Case 2 To 6:Rate = 0.72Case 7:Rate = 0.81Case 8 To 10:Rate = 0.36Case 11:Rate = 0.5Case Is >= 12Rate = 0.35
End Select
CDI_Rate1000 = Rate * 1000
End FunctionPrivate Function TDI_Rate1000(ByVal Year As Integer) As Long
'{1,3,5,7,8,9,10,11,12,13,15,16}
'{2.25,1.98,2.25,2.52,4.14,2.52,2.25,2.5,3.5,3,2.75,1.5}
Dim Rate As Single
Select Case (Year - 2000)Case Is < 0:Rate = 0Case 0 To 2:Rate = 2.25Case 3 To 4:Rate = 1.98Case 5 To 6:Rate = 2.25Case 7:Rate = 2.52Case 8:Rate = 4.14Case 9:Rate = 2.52Case 10:Rate = 2.25Case 11:Rate = 2.5Case 12:Rate = 3.5Case 13 To 14:Rate = 3.2Case 15:Rate = 2.75Case Is >= 16Rate = 1.5
End Select
TDI_Rate1000 = Rate * 1000
End FunctionPrivate Function DaysR(ByVal ymd As Date) As Integer '某一天到该年底的天数(含此日)DaysR = DateSerial(Year(ymd), 12, 31) - ymd + 1
End FunctionPrivate Function DaysL(ByVal ymd As Date) As Integer '一年中某日之前的天数(不含此日)DaysL = ymd - DateSerial(Year(ymd), 1, 1)
End FunctionPrivate Function Leap(ByVal Y As Integer) As BooleanLeap = (Y Mod 4 = 0 And Y Mod 100 <> 0) Or (Y Mod 400 = 0)
End FunctionPrivate Function VtoD(ByVal vDate As Variant) As Variant
Dim Y, M, D As Integer
VtoD = True
Select Case VarType(vDate)Case 0 To 2, Is = 6, Is > 8VtoD = FalseCase 3 To 5VtoD = VtoD(CStr(vDate))Case 7:VtoD = Format(vDate, "yyyy-mm-dd")If VtoD < "2000-01-01" Then VtoD = FalseCase 8:If Len(vDate) <> 8 ThenVtoD = FalseExit FunctionEnd IfFor i = 1 To 8If Asc(Mid(vDate, i, 1)) < 48 Or Asc(Mid(vDate, i, 1)) > 57 ThenVtoD = FalseExit FunctionEnd IfNextY = --Left(vDate, 4): M = --Mid(vDate, 5, 2): D = --Right(vDate, 2)If Y < 2000 Then VtoD = FalseIf M > 12 Or M = 0 Then VtoD = FalseIf D > 31 Or D = 0 Then VtoD = FalseIf M = 2 And D > (28 + IIf(Leap(Y), 1, 0)) Then VtoD = FalseIf VtoD = False Then Exit FunctionVtoD = Format(DateSerial(Y, M, D), "yyyy-mm-dd")
End Select
End FunctionPrivate Function CDInterest(ByVal Amounts As Double, ByVal vDate As Variant, Optional R As Boolean = False) As Double
Dim dRate As Double
vDate = VtoD(vDate)
CDInterest = 0
If vDate = False ThenMsgBox "日期格式错!"Exit Function
End If
If R ThenCDInterest = Round(Amounts, 2) * CDI_Rate1000(Year(vDate)) / 1000 / 100 / 365 * DaysR(vDate)
ElseCDInterest = Round(Amounts, 2) * CDI_Rate1000(Year(vDate)) / 1000 / 100 / 365 * DaysL(vDate)
End If
End Function

VBA 2000年之后活期存款利息计算相关推荐

  1. 活期存款利息的计算方法

    因为活期存款的利息很低,所以,人们对活期存款的利息怎样计算,并不是十分在意.我也如是.可是前些日子我陪一位老同事去买国债,在回家的路上我们偶尔谈到了这个问题,有些问题我也不太明白.但是,我还是想把这个 ...

  2. C语言实现存款利息计算

    存款利息的计算,有1000元,想存五年,可以按以下5种办法存: 一次存5年期 先存2年期,到期后将本息再存3年 先存3年期,到期后将本息再存2年 存1年期,到期后将本息存再存1年期,连续存5次 存活期 ...

  3. 学习笔记存款利息计算

    /*习题存款利息的计算.有1000元,想存5年,可按以下5种办法存: (1)一次存5年期. (2)先存2年期,到期后将本息再存3年期. (3)先存3年期,到期后将本息再存2年期. (4)存1年期,到期 ...

  4. Tushare积分不够2000利用日线行情数据计算涨跌停价格

    Tushare积分不够2000利用日线行情数据计算涨跌停数据 股票的涨跌幅规则 计算逻辑 代码 股票的涨跌幅规则 众所周知A股股票的涨跌幅是有限制的.目前创业板和科创板的涨跌幅涨跌幅限制比例为20%, ...

  5. 存款利息计算。有1000元,想存5年,可按以下5种办法存:

    <C程序设计(第五版)>,谭浩强 著.第三章第2题. 代码如下: #include<stdio.h> #include<math.h> int main() {fl ...

  6. 在Excel中通过VBA实现不定区域的标准差计算

    需求:在excel中计算固定区域的均值有很多实现方式,但是对于跟随一定条件变化的区域,要求解标准差却很难实现. 解决方案:通过VBA的程序,根据条件改变选定的单元格区域,实现不定区域的标准差计算. 程 ...

  7. c语言 存款利息计算,1000元,存5年,求五种方案存款五年后的本息和

    存款利息的计算.有1000元,存5年,有以下五种方案: (1)一次存5年期,利率r5 = 0.0585 (2)先存2年,到期后将本息再存3 年,利率r2 = 0.0468,r3 = 0.054 (3) ...

  8. Excel VBA系列:实现奖金比例计算+4种公式法

    作业要求:根据奖金规则,计算每位员工的奖励比例及销售奖金 奖金规则: 第一类方法:Excel公式法 方法1:=HLOOKUP(C3,'练习6-奖金规则'!$C$3:$F$4,2,TRUE) 方法2:= ...

  9. 【原创】VBA(实验5)VBA写干支纪年简单版: 计算阳历年的阴历年份

    什么是天干地支 https://zhidao.baidu.com/question/440519452.html 方法1:1个特直接特别笨的办法:先写序列再& 直接把天干地支都写成60个循环. ...

最新文章

  1. 工程师必读 微软如何部署Exchange2010
  2. 整理第十六届全国大学智能车竞赛比赛数据
  3. Objective-C 内存管理retain和release
  4. Mongodb源码分析--Replication之主从模式--Master
  5. XAMPP——Apache不能启动解决方案
  6. 成为一个合格的as3程序猿
  7. ReviewForJob——深度优先搜索的应用
  8. C# 派生类的构造函数
  9. Logistic Regression逻辑回归的损失函数与梯度下降训练
  10. HUT-XXXX The window of the dazzling 模拟
  11. css鼠标滑过变大,css 鼠标移上去会变大(示例代码)
  12. 安全合规/法案--35--《APP收集使用个人信息自评估指南(征求意见稿)》原文及解读
  13. SPSS——相关分析——Pearson简单相关系数
  14. 博客群建软件-关键词要如何优化才能有好的排名
  15. npm init vite@latest 报错
  16. oracle14047,Oracle数据库之ORA-14047
  17. 数学建模常用算法—熵权法(EWM)
  18. webservice概述及cxf在Java开发中应用(三) cxf客户端开发
  19. python读取配置文件 分段_python分割文件的常用方法
  20. python递归必须要有_Python的递归

热门文章

  1. 迁移学习——论文集推荐
  2. 清醒认识数据第一步,把关数据质量
  3. 32位与64位操作系统的区别
  4. 计算机安装重装出现错误,电脑重装系统老是失败要怎么办?我教你几个方法,一定能装上去!...
  5. mac下iTerm2 连接服务器几分钟不操作就断开
  6. 抖音自媒体账号被限流?这3种方法教你如何鉴别
  7. DenseNet——密集连接的卷积神经网络
  8. 利用Proteus仿真STM32实现按键控制LED灯设计
  9. Error when inserting or changing in a sorted table
  10. PowerShell 批量禁用AD账号并记录