gpt4 book ai didi

excel - VBA生成代码

转载 作者:行者123 更新时间:2023-12-04 20:05:05 27 4
gpt4 key购买 nike

那里。我制作了这段代码,用两个数字替换了一个字符(例如 0 = 10; 1 = 11; 2 = 12; ...),除了第一个元素(零元素)外,一切正常。因此,如果我将“010a4”字符串放在单元格 A1 上并使用我的公式“=GENERATECODE(A1)”,我的预期返回值为“1011102014”,但我有一个“110111102014”字符串。所以,只有零值会发生这个错误,我不知道为什么。有什么想法吗?

我的代码:

    Function GENERATECODE(Code As String)
Dim A As String
Dim B As String
Dim i As Integer
Const AccChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
Const RegChars = "1011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071"
For i = 1 To Len(AccChars)
A = Mid(AccChars, i, 1)
B = Mid(RegChars, 2 * i - 1, 2)
Code = Replace(Code, A, B)
Next
GENERATECODE = Code
End Function

最佳答案

您的问题是您的代码首先更改每个 010然后每个 111 .所以每个0给你10然后 110 .

如果你想保持同一种算法(这可能不是一个好的选择),你需要改变AccCharsRegChars这样一个字符就不会被一个字符串替换,该字符串可以给出稍后在 AccChars 上找到的字符。字符串。在您的情况下,只需替换 Const AccChars = "012 ...根据 Const AccChars = "102 ...Const RegChars = "101112 ...根据 Const RegChars = "111012 ...
但是完全改变你的算法可能会更好。我首先建议不要使用字符串的就地编辑,而是使用 2 个字符串。

关于excel - VBA生成代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49858828/

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