- 21 Mai 2021 às 19:33
#64762
Olá pessoal Tudo bem?
Estou com um probleminha aqui.
Fiz um macro ele está funcionando da maneira correta, porém eu precisava adicionar uma condição.
Como funciona.
Na celula B1 tem um texto grande tipo assim VAMOS[END]EMBORA[END]DAQUI[END]
A macro ela da um split ficando assim
E5 = VAMOS[END]
E6 = EMBORA[END
E7 = DAQUI[END]
Até ai tudo bem.
Porém eu queria que ela desse o split somente nas que tiverem vazias, as que ela encontrar dados, ela pula pra proxima vazia, porém continuando da onde ela copiou.
Exemplo: B1=VAMOS[END]EMBORA[END]DAQUI[END]
"VAZIA"
OLÁ
"VAZIA"
LEGAL
"VAZIA"
RESULTADO FINAL
VAMOS
OLÁ
EMBORA
LEGAL
DAQUI
seria possível?
segue meu código abaixo.
Estou com um probleminha aqui.
Fiz um macro ele está funcionando da maneira correta, porém eu precisava adicionar uma condição.
Como funciona.
Na celula B1 tem um texto grande tipo assim VAMOS[END]EMBORA[END]DAQUI[END]
A macro ela da um split ficando assim
E5 = VAMOS[END]
E6 = EMBORA[END
E7 = DAQUI[END]
Até ai tudo bem.
Porém eu queria que ela desse o split somente nas que tiverem vazias, as que ela encontrar dados, ela pula pra proxima vazia, porém continuando da onde ela copiou.
Exemplo: B1=VAMOS[END]EMBORA[END]DAQUI[END]
"VAZIA"
OLÁ
"VAZIA"
LEGAL
"VAZIA"
RESULTADO FINAL
VAMOS
OLÁ
EMBORA
LEGAL
DAQUI
seria possível?
segue meu código abaixo.
Código: Selecionar todos
Obrigado pela atenção.Sub main()
' Função para unir as linhas
' em só uma linha
Sheets("TEXTO").Select
Call unirLinhas(4, 4, 2, 2)
' Utilização da função Split
' separando todo o texto quando encontrado ">"
quebralinha = Split(Cells(1, 2), "[END]")
' Descarregamnto do vetor de palavras
' nas células abaixo dos dados de origem
For i = 0 To UBound(quebralinha)
If Len(quebralinha(i)) > 1 Then
Cells(i + 3, 4).Select
Selection.NumberFormat = "@"
Cells(i + 4, 5) = quebralinha(i) & "[END]"
End If
Next i
End Sub