Saberexcel - site das macros
Esta macro e função do Aplicativo Microsoft Excel VBA, retorna uma palavras aleatórias de uma determinada frase, previamente escolhida. como mostra na macro "Frase_desordenada" abaixo, observe que o macro é auxliado por uma Função com argumentos
Sub Frase_desordenada()
[A2:A10].ClearContents
Range("A1").Select
Sb = "Aprenda Microsoft Excel VBA com qualidade Saberexcel"
Arr = Application.Transpose(FraseDesordenada(Sb))
For i = LBound(Arr) To UBound(Arr)
[A65000].End(xlUp).Offset(1, 0).Select
ActiveCell.Value = Arr(i)
x = ActiveCell.Offset(0, 1).Value
MsgBox "Palavra : [ " & Arr(i) & " ] posição original :[ " & x & " posição" & " ]"
Next
[A65000].End(xlUp).Offset(1, 0).Select
End Sub
Function FraseDesordenada(Sb)
Dim Arr, i&, b&, j&, k&, tmp
'decompondo a frase e retornando de forma aleatória.
Arr = Split(Sb, " ")
Randomize: j = UBound(Arr)
For i = LBound(Arr) To UBound(Arr)
k = Rnd() * j + 1
tmp = Arr(j)
Arr(j) = Arr(k)
Arr(k) = tmp
j = j - 1
Next
'retorna resultado coluna
FraseDesordenada = Application.Transpose(Arr)
End Function
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA, sozinho, com baixo custo, praticando com os produtos didáticos SaberExcel
Baixe o exemplo de planilha contendo a macro e a funçao acima
Excel planilha vba decompor palavras de uma frase aleatoriamente (22.44 kB)