0
Undo
Votes
Este Código VBA: Liste todas as permutações possíveis no Excel, preciso de uma modificão nele na forma de entrada, que está em 'MsgBox' e eu preciso que seja em uma seleção de 1 coluna, e a quantidade de linha dentro das linhas selecionadas, e possivel fazer a modificação no código.
Sai 'MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"' Que é somente digitável e não por seleção
Entra 'seleção de 1 coluna/linhas.
exemplo
linhas selecionadas 12345678 permutar 5 das 8 continuando como esta no codigo.
começa 12345
'termina em 87654.
Sai 'MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"' Que é somente digitável e não por seleção
Entra 'seleção de 1 coluna/linhas.
exemplo
linhas selecionadas 12345678 permutar 5 das 8 continuando como esta no codigo.
começa 12345
'termina em 87654.
'Sub
GetString()
'Updateby Extendoffice
Dim
xStr
As
String
Dim
FRow
As
Long
Dim
xScreen
As
Boolean
xScreen = Application.ScreenUpdating
Application.ScreenUpdating =
False
xStr = Application.InputBox(
"Enter text to permute:"
,
"Kutools for Excel"
, , , , , , 2)
If
Len(xStr) < 2
Then
Exit
Sub
If
Len(xStr) >= 8
Then
MsgBox
"Too many permutations!"
, vbInformation,
"Kutools for Excel"
Exit
Sub
Else
ActiveSheet.Columns(1).Clear
FRow = 1
Call
GetPermutation(
""
, xStr, FRow)
End
If
Application.ScreenUpdating = xScreen
End
Sub
Sub
GetPermutation(Str1
As
String
, Str2
As
String
,
ByRef
xRow
As
Long
)
Dim
i
As
Integer
, xLen
As
Integer
xLen = Len(Str2)
If
xLen < 2
Then
Range(
"A"
& xRow) = Str1 & Str2
xRow = xRow + 1
Else
For
i = 1
To
xLen
Call
GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End
If
'End
Sub
- Page :
- 1
There are no replies made for this post yet.