是否有 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 来计算银行帐户的密钥?的主要内容,如果未能解决你的问题,请参考以下文章

如何编写更好,更清晰的银行帐户代码版本? [关闭]

存储银行帐号

银行利息 Q

使用 VBA 将数据从主工作表传输到基于列的多个工作表

银行是不是提供任何开发者 API 供应用程序使用?

如何查询个人银行卡号?