gpt4 book ai didi

excel - 交换字符串中的 2 个字符

转载 作者:行者123 更新时间:2023-12-03 02:31:01 25 4
gpt4 key购买 nike

我有一列包含这样的字符串:

ABCDEFG
ACDEF
ACDEFG
ACFG
ACDEFG

我想交换包含这些字符的多个字符串中的 2 个字符。行是随机选择的。例如,我需要交换 3 行中的 A 和 C(行是随机选择的)。预期输出为:

CBADEFG
CADEF
ACDEFG
ACFG
CADEFG

最佳答案

VBA 方法:

  • 随机选择行 (50/50)
  • 检查“A”和“C”字符在交换前是否存在
  • 仅交换第一次出现的位置

    enter image description here

代码

Sub ACDC()
Randomize
Dim X
Dim lngCnt As Long
Dim strIn As String
Dim strOut As String

strIn = "A"
strOut = "C"
X = Range([a1], Cells(Rows.Count, "A").End(xlUp)).Value2

For lngCnt = 1 To UBound(X)
If Rnd() > 0.5 Then
'check for both conditions
If InStr(X(lngCnt, 1), strIn) Then
If InStr(X(lngCnt, 1), strOut) Then
X(lngCnt, 1) = Replace(X(lngCnt, 1), strIn, "|", , 1)
X(lngCnt, 1) = Replace(X(lngCnt, 1), strOut, strIn, , 1)
X(lngCnt, 1) = Replace(X(lngCnt, 1), "|", strOut, , 1)
End If
End If
End If
Next

[b1].Resize(lngCnt - 1, 1).Value2 = X

End Sub

关于excel - 交换字符串中的 2 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43336326/

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