是否有 VBA 来计算银行帐户的密钥?
Posted
技术标签:
【中文标题】是否有 VBA 来计算银行帐户的密钥?【英文标题】:Is there a VBA to calculate the key of a bank account? 【发布时间】:2020-05-16 17:07:37 【问题描述】:我想计算当前银行账户的密钥(CCP Algeria);在excel中使用VBA; 我已经使用以下公式在 excel 中做到了:
=TEXTE(SI(((MOD(97-((89*(7)+15*(99999)+3*E6));97))+30)>97;(MOD(97-(( 89*(7)+15*(99999)+3*E6));97))+30-97;(MOD(97-((89*(7)+15*(99999)+3*E6)) ;97))+30);"00")
但在 VBA 中,当帐户为八位数字时,例如“24378883”,我收到一条错误消息。 同样对于一个帐户:(1593132)密钥应该是'97',给我'00'。
我使用的VBA代码是:
Public Function rip_ccp(y)
x1 = y * 100#
X = x1 Mod 97
' MOD CCP MOD 99999000000000000= 85=w
w = 85
If (X + w) > 97 Then c = (X + w) - 97 Else c = (X + w)
d = 97 - c
If d < 10 Then k = "0" & d Else k = d
rip_ccp = k
End Function
【问题讨论】:
一个比利时账号,你只要把数字并排,计算模97,为什么在阿尔及利亚看起来那么难? 我不知道,也许每个国家都有自己的计算方法 【参考方案1】:试试下面的;你的公式翻译成 VBA 函数
Function rip_ccp(y)
a = 97 - (89 * 7 + 15 * 99999 + 3 * y)
b = (a - 97 * Int(a / 97)) + 30
If b > 97 Then
rip_ccp = Format(b - 97, "00")
Else
rip_ccp = Format(b, "00")
End If
End Function
【讨论】:
参考vba mod函数here以上是关于是否有 VBA 来计算银行帐户的密钥?的主要内容,如果未能解决你的问题,请参考以下文章