【问题标题】:Is there a VBA to calculate the key of a bank account?是否有 VBA 来计算银行帐户的密钥?
【发布时间】:2023-03-21 06:48:01
【问题描述】:

我想计算当前银行账户的密钥(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,为什么在阿尔及利亚看起来那么难?
  • 我不知道,也许每个国家都有自己的计算方法

标签: excel vba


【解决方案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
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 2011-11-22
  • 2021-11-03
  • 1970-01-01
  • 2017-04-01
  • 2019-04-14
相关资源
最近更新 更多