gpt4 book ai didi

vba - 将 +2 添加到任何数字 (VBA)

转载 作者:行者123 更新时间:2023-12-04 23:22:50 26 4
gpt4 key购买 nike

我正在编写一个 VBA 代码来将 +2 添加到放在函数中的任何数字字符串中。

它工作正常,直到它达到 6 和 7,然后它会中断。我真的不知道为什么会这样。

如果您想知道我为什么要这样做,这是加密算法的一部分,它专门用于加密字符串中的数字。

我的代码是:

Sub AddNumbers()

Dim Nos As String
Dim AddNo As String
Dim Found As Boolean
Dim Split()

Nos = "0-1-2-3-4-5-6-7-8-9-10"
Sheets("Sheet1").Range("U2").Value = Nos

Length = Len(Nos)
ReDim Split(Length)

For i = 1 To Length
Found = False
Split(i) = Mid(Nos, i, 1)
For O = 48 To 55
If Split(i) = Chr(O) Then
Split(i) = Chr(O + 2)
Found = True
Exit For
End If
Next O
If Split(i) = Chr(56) Then
Split(i) = Chr(48)
ElseIf Split(i) = Chr(57) Then
Split(i) = Chr(49)
End If
Next i

AddNo = Join(Split, "")

Sheets("Sheet1").Range("U3").Value = AddNo

End Sub

我真的很感激能了解它为什么在 6 点和 7 点中断。

最佳答案

稍等一下,但你是加倍的。

看看你的循环。当您遇到 6 ( Char(54) ) 时,您添加 2 并得到 8 ( Char(56) )。

但是,在您的循环之后,您将再次测试相同的 Split(i) . 6 和 7 的字符现在相应地是 56 和 57 - 所以你再添加 2 到它们。

If Split(i) = Chr(56) And Found = False Then
Split(i) = Chr(48)
ElseIf Split(i) = Chr(57) And Found = False Then
Split(i) = Chr(49)
End If

关于vba - 将 +2 添加到任何数字 (VBA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52061811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com