gpt4 book ai didi

vba - 使用 VBA 实现简单的替换密码

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

我正在尝试编写一个程序来更改字符串中的字母,但我一直遇到一个明显的问题,即如果它更改了一个值,比如说它将 A 更改为 M,当它到达 M 时,它会将 M 更改为其他东西,所以当我运行代码将其全部改回原样时,它会将其转换为好像该字母最初是 M 而不是 A。

有什么想法可以让代码不改变已经改变的字母吗?

至于代码,我只得到了大约 40 行(我确信有一种更简洁的方法来做到这一点,但我是 vba 的新手,当我尝试选择大小写时,它只会更改一个字母,而不会遍历所有字母)

Text1.value = Replace(Text1.value, "M", "E")

最佳答案

试试这个:

Dim strToChange As String
strToChange = "This is my string that will be changed"
Dim arrReplacements As Variant

arrReplacements = Array(Array("a", "m"), _
Array("m", "z"), _
Array("s", "r"), _
Array("r", "q"), _
Array("t", "a"))

Dim strOutput As String
strOutput = ""
Dim i As Integer
Dim strCurrentLetter As String

For i = 1 To Len(strToChange)
strCurrentLetter = Mid(strToChange, i, 1)
Dim arrReplacement As Variant

For Each arrReplacement In arrReplacements
If (strCurrentLetter = arrReplacement(0)) Then
strCurrentLetter = Replace(strCurrentLetter, arrReplacement(0), arrReplacement(1))
Exit For
End If
Next

strOutput = strOutput & strCurrentLetter
Next

这是输出:

Thir ir zy raqing ahma will be chmnged

关于vba - 使用 VBA 实现简单的替换密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22049805/

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