나는이 같은 문자열을 포함하는 열이. 행은 무작위로 선택됩니다. 예를 들어, A와 C를 3 행으로 바꿔야합니다 (행은 무작위로 선택됩니다). 예상 출력은 다음과 같습니다스왑이 문자는
CBADEFG
CADEF
ACDEFG
ACFG
CADEFG
나는이 같은 문자열을 포함하는 열이. 행은 무작위로 선택됩니다. 예를 들어, A와 C를 3 행으로 바꿔야합니다 (행은 무작위로 선택됩니다). 예상 출력은 다음과 같습니다스왑이 문자는
CBADEFG
CADEF
ACDEFG
ACFG
CADEFG
VBA 방법 :
012 3,516,코드
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
당신이 1 A 1 C 이상이 있습니까 - 즉, 당신이 하나의 스왑 교체를 제한해야합니까? – brettdj