como furto de texto na mesma célula ou re arranjar no excel? - excel

Eu tenho uma folha e quero mudar a posição do texto na célula por ex:

cell A                 | Cell B
----------------------------------------------
hd photo this is my    | this is my hd photo
-----------------------------------------------
pen this is my         | this is my pen
------------------------------------------------
your name what is      | what is your name

Eu tenho valores de célula A e quero valor como célula B. Espero que você entenda a minha pergunta. obrigado

Respostas:

1 para resposta № 1

Tente a seguinte função definida pelo usuário (UDF):

Public Function rotate(s As String, Kount As Long) As String
ary = Split(s, " ")
ReDim bry(0 To UBound(ary))
j = 0

For i = Kount To UBound(ary)
bry(j) = ary(i)
j = j + 1
Next i

For i = 0 To Kount - 1
bry(j) = ary(i)
j = j + 1
Next i

rotate = Join(bry, " ")
End Function

Por exemplo:

insira a descrição da imagem aqui

O primeiro argumento é a célula que contém o texto original e o segundo argumento é o número de palavras a serem deslocadas para o final da frase.

Funções Definidas pelo Usuário (UDFs) são muito fáceis de instalar e usar:

  1. ALT-F11 traz a janela do VBE
  2. ALT-I ALT-M abre um novo módulo
  3. cole o material e feche a janela do VBE

Se você salvar a pasta de trabalho, a UDF será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm ao invés de .xlsx

Para remover o UDF:

  1. abrir a janela do VBE como acima
  2. limpar o código
  3. feche a janela do VBE

Para usar o UDF do Excel:

=rotate(A1,3)

Para saber mais sobre macros em geral, consulte:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

e

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

e para detalhes sobre UDFs, consulte:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

As macros devem estar habilitadas para que isso funcione!