Вы находитесь на странице: 1из 15

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Developer Network

Tecnologias

Entrar

Downloads

Fazer uma Pergunta

Programas

Comunidade

Pesquisar threads relacionados

Documentao

Assinaturas do MSDN

Obter ferramentas

Exemplos

Search forum questions

Acesso rpido

CONCATENAR DADOS COM QUEBRA DE TEXTO

Usurio com melhor resposta

Archived Forums>Excel

Principais threads relacionados


quebra de pgina em arquivo texto

Pergunta

quebra de pgina em arquivo texto


Exibir texto com quebra de linha

Amigos, existe alguma forma de concatenar dados com quebra de texto? Eu tenho esta situao:

Quebra de texto VBA

Quebra de texto no datagrid

0
Entrar
para
Votar

20ST

20VH

e preciso que fique assim:

1 X 20ST
1 X 20VH

T usando somente concatenar, mas no t fluindo.

Tks
Jerson

quarta-feira, 16 de julho de 2008 19:41

Respostas

1 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Ol, Jerson.
Vou dividir este post em dois tpicos, a saber: o primeiro tentar uma possvel soluo para sua demanda
e o segundo uma sugesto de como eu faria, que voc pode ou no adotar.

0
Entrar
para
Votar

1. Possvel Soluo:
a. Antes de mais nada, saiba que, atravs de frmulas, no consigo centralizar o X no valor retornado pois,
at onde eu saiba, isso s pode ser conseguido atravs de formatao da clula (algum tipo bem esotrico
do qual nem mais me lembro).
b. Isto posto, creio que a frmula abaixo poder ajud-lo:
Code Snippet
=SE(.NO.DISP(PROCV(BM10;INDIRETO("Dados!B1:Z100");9));"";SE(ERROS(LOCALIZAR(CARACT(10);
PROCV(BM10;INDIRETO("Dados!B1:Z100");9)));PROCV(BM10;INDIRETO("Dados!B1:Z100");9) & " X
";SUBSTITUIR(PROCV(BM10;INDIRETO("Dados!B1:Z100");9);CARACT(10);" X " & CARACT(10);1)))

Observe que a frmula acima, embora menor, tambm no nenhum bom exemplo de programao, j
que a consulta repetida vrias vezes o que degrada a performance. Em resumo, nunca ponha uma
frmula dessas no seu currculo.
c. Ainda sobre a frmula acima, ela produzir um resultado similar aos abaixo:
c.1. Sem quebra de texto: 1 ser transformado em 1 X
c.2 Com quebra de texto:
1 ser transformado em 1 X
1 1

2. Minha (modesta) sugesto:


a. Em sua planilha Dados, separe uma coluna qualquer que tenha a altura de seu intervalo (e que pode
ficar oculta depois). Separei, para exemplificar, o intervalo AB1:AB100. Observe que esta coluna est
separada do intervalo B1:Z100 pela coluna AA, mostrando que sua coluna de clculo no precisa estar
colada no intervalo.
b. Considerando que a nona e a dcima coluna de seu intervalo B1:Z100 so, respectivamente, os
intervalos J1:J100 e K1:K100, vamos inserir, em AB1, uma frmula que faa a concatenao pretendida. A
frmula ficar assim:
Code Snippet
=SE(OU(CL.VAZIA(J1);CL.VAZIA(K1));"";SE(OU(ERRO(LOCALIZAR(CARACT(10);
J1));ERRO(LOCALIZAR(CARACT(10);K1)));J1 & " X " & K1;EXT.TEXTO(J1;1;(LOCALIZAR(CARACT(10);J1))-1) &
" X " & EXT.TEXTO(K1;1;(LOCALIZAR(CARACT(10);K1))-1) & CARACT(10) & EXT.TEXTO(J1;
(LOCALIZAR(CARACT(10);J1))+1;NM.CARACT(J1)-(LOCALIZAR(CARACT(10);J1))) & " X " & EXT.TEXTO(K1;
(LOCALIZAR(CARACT(10);K1))+1;NM.CARACT(K1)-(LOCALIZAR(CARACT(10);K1)))))

c. Copie a frmula para baixo, abarcando as demais clulas do intervalo AB1:AB100.


d. Finalmente, modifique seu PROCV() para:
PROCV(BM10;INDIRETO("Dados!B1:AB100");27)
Observe, na frmula acima, que a coluna AB1:AB100 a vigsima stima coluna do intervalo B1:AB100.

Caso estas duas sugestes no atendam suas necessidades, faa-me saber para que possamos, juntos,
atingir uma soluo adequada.

2 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Todas as Respostas
Vc vai ter que formatar inicialmente a clula para quebra de texto automtica.
Depois concatenar como no exemplo =A1&" X "&B1&CARACT(10)&B1&" X "&C1

0
Entrar
para
Votar

CARACT(10) o nmero do caractere correspondente a uma quebra de pgina.


[ ]s

quinta-feira, 17 de julho de 2008 18:32

Ol, Jerson.

Alm da soluo proposta pelo Adilson, voc pode querer experimentar a frmula abaixo:

0
Entrar
para
Votar

Code Snippet
=SE(OU(CL.VAZIA(A1);CL.VAZIA(B1));"";EXT.TEXTO(A1;1;(LOCALIZAR(CARACT(10);A1))-1) & " X " &
EXT.TEXTO(B1;1;(LOCALIZAR(CARACT(10);B1))-1) & CARACT(10) & EXT.TEXTO(A1;
(LOCALIZAR(CARACT(10);A1))+1;NM.CARACT(A1)-(LOCALIZAR(CARACT(10);A1))) & " X " & EXT.TEXTO(B1;
(LOCALIZAR(CARACT(10);B1))+1;NM.CARACT(B1)-(LOCALIZAR(CARACT(10);B1))))

Sobre a frmula acima, valem as seguintes observaes:


1. A frmula concatena os valores presentes em A1 e B1.
2. Caso OU A1 OU B1 estejam vazias, a frmula retorna "" (vazio).
3. As clulas A1, B1 e a clula onde voc inserir a frmula devem estar formatadas para quebrar texto
automaticamente.
4. A clula onde voc inserir a frmula deve ter largura suficiente para exibir o texto concatenado ou ele
parecer truncado.
Atenciosamente,

quinta-feira, 17 de julho de 2008 19:12

3 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Adilson,a tua frmula cria uma referncia circular se eu utilizo a C1 como destino. Se eu utilizo outra clula
qualquer,o resultado fica assim:

Entrar
para
Votar

1 X 20ST
40HC
20ST
40HC X 1

20ST

40HC 1 X 20ST
40HC
1
1 X 20ST
40HC

Eu tentei tambm assim =A1&" X "&B1&CARACT(10)&A1&" X "&B1 e o resultado foi:

1
1 X 20ST
1

20ST

40HC 1

40HC
1 X 20ST
40HC

Tentei outras possibilidades, mas o resultado no foi parecido.

Tks
Jerson

quinta-feira, 17 de julho de 2008 19:34

4 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Otvio Alves Ribeiro wrote:


Ol, Jerson.

Alm da soluo proposta pelo Adilson, voc pode querer experimentar a frmula
abaixo:

0
Entrar
para
Votar

Code Snippet
=SE(OU(CL.VAZIA(A1);CL.VAZIA(B1));"";EXT.TEXTO(A1;1;(LOCALIZAR(CARACT(10);
A1))-1) & " X " & EXT.TEXTO(B1;1;(LOCALIZAR(CARACT(10);B1))-1) & CARACT(10) &
EXT.TEXTO(A1;(LOCALIZAR(CARACT(10);A1))+1;NM.CARACT(A1)(LOCALIZAR(CARACT(10);A1))) & " X " & EXT.TEXTO(B1;
(LOCALIZAR(CARACT(10);B1))+1;NM.CARACT(B1)-(LOCALIZAR(CARACT(10);B1))))

Sobre a frmula acima, valem as seguintes observaes:


1. A frmula concatena os valores presentes em A1 e B1.
2. Caso OU A1 OU B1 estejam vazias, a frmula retorna "" (vazio).
3. As clulas A1, B1 e a clula onde voc inserir a frmula devem estar formatadas para
quebrar texto automaticamente.
4. A clula onde voc inserir a frmula deve ter largura suficiente para exibir o texto
concatenado ou ele parecer truncado.
Atenciosamente,

Otvio, tua frmula perfeita, xou de bola! S peo que voc, por gentileza,adicione um argumento para
que quando os valores em A1 e B1 no estiverem com quebra de texto o resultado no retorne erro. Ex.:
3

20ST 3 X 20ST

Tks
Jerson

quinta-feira, 17 de julho de 2008 20:01

5 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Ol, Jerson.

Verifique, por favor, se a frmula abaixo corresponde s suas expectativas:

0
Entrar
para
Votar

Code Snippet
=SE(OU(CL.VAZIA(A1);CL.VAZIA(B1));"";SE(OU(ERRO(LOCALIZAR(CARACT(10);
A1));ERRO(LOCALIZAR(CARACT(10);B1)));A1 & " X " & B1;EXT.TEXTO(A1;1;(LOCALIZAR(CARACT(10);A1))-1)
& " X " & EXT.TEXTO(B1;1;(LOCALIZAR(CARACT(10);B1))-1) & CARACT(10) & EXT.TEXTO(A1;
(LOCALIZAR(CARACT(10);A1))+1;NM.CARACT(A1)-(LOCALIZAR(CARACT(10);A1))) & " X " & EXT.TEXTO(B1;
(LOCALIZAR(CARACT(10);B1))+1;NM.CARACT(B1)-(LOCALIZAR(CARACT(10);B1)))))

Atenciosamente,

sexta-feira, 18 de julho de 2008 01:47

0
Entrar
para
Votar

Perfeito, Otvio. Sem querer abusar de sua boa vontade, vou precisar desta mesma frmula numa outra
planilha s que utilizando PROCV.No momento estouutilizando a seguinte frmula:
=CONCATENAR(PROCV(BM10;INDIRETO("Dados!B1:Z100");9);" X
";PROCV(BM10;INDIRETO("Dados!B1:Z100");10)).

Tks
Jerson

sexta-feira, 18 de julho de 2008 13:20

Ol, Jerson.

Eu no consegui entender qual o resultado pretendido. Conto com sua compreenso no sentido de me
enviar mais esclarecimentos.

0
Entrar
para
Votar

Atenciosamente,

sexta-feira, 18 de julho de 2008 13:47

6 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Okento vamos simplificar... gostaria que voc apenas inserisse na frmula =PROCV(BM10;
INDIRETO("Dados!B1:Z100");9), o argumento para que o resultado retorne o formado com quebra de
texto, quando os dados na origem tiverem quebra de texto. Quando no,retorna normal.

0
Entrar
para
Votar

Tks
Jerson

sexta-feira, 18 de julho de 2008 19:51

Ol, Jerson.

Se eu consegui entender, sua frmula ficaria assim:

0
Entrar
para
Votar

Code Snippet
=SE(OU(.NO.DISP((PROCV(BM10;INDIRETO("Dados!B1:Z100");9)));.NO.DISP((PROCV(BM10;
INDIRETO("Dados!B1:Z100");10))));"";SE(OU(ERRO(LOCALIZAR(CARACT(10);(PROCV(BM10;
INDIRETO("Dados!B1:Z100");9))));ERRO(LOCALIZAR(CARACT(10);(PROCV(BM10;
INDIRETO("Dados!B1:Z100");10)))));(PROCV(BM10;INDIRETO("Dados!B1:Z100");9)) & " X " &
(PROCV(BM10;INDIRETO("Dados!B1:Z100");10));EXT.TEXTO((PROCV(BM10;INDIRETO("Dados!B1:Z100");9));1;
(LOCALIZAR(CARACT(10);(PROCV(BM10;INDIRETO("Dados!B1:Z100");9))))-1) & " X " &
EXT.TEXTO((PROCV(BM10;INDIRETO("Dados!B1:Z100");10));1;(LOCALIZAR(CARACT(10);
(PROCV(BM10;INDIRETO("Dados!B1:Z100");10))))-1) & CARACT(10) &
EXT.TEXTO((PROCV(BM10;INDIRETO("Dados!B1:Z100");9));(LOCALIZAR(CARACT(10);
(PROCV(BM10;INDIRETO("Dados!B1:Z100");9))))+1;NM.CARACT((PROCV(BM10;INDIRETO("Dados!B1:Z100
");9)))-(LOCALIZAR(CARACT(10);(PROCV(BM10;INDIRETO("Dados!B1:Z100");9))))) & " X " &
EXT.TEXTO((PROCV(BM10;INDIRETO("Dados!B1:Z100");10));(LOCALIZAR(CARACT(10);
(PROCV(BM10;INDIRETO("Dados!B1:Z100");10))))+1;NM.CARACT((PROCV(BM10;INDIRETO("Dados!B1:Z10
0");10)))-(LOCALIZAR(CARACT(10);(PROCV(BM10;INDIRETO("Dados!B1:Z100");10)))))))

IMPORTANTE:
A frmula acima acabou por ficar muito "gorda", com 1.135 caracteres, o que a torna adequada
para o Excel 2.007 mas inadequada para o 2.003, que s permitiria 1.024 caracteres por frmula.
Alm do mais, como as pesquisas (PROCV()) so repetidas vrias vezes, a performance acabar por
ser degradada.

Assim sendo, creio que as chamadas a PROCV() deveriam ser inseridas em outras clulas - tipo as clulas
A1 e B1 da frmula original - e, somente ento, os resultados seriammanipulados pela frmula de
concatenao.
Atenciosamente,

P.S.: editei esta resposta para enfatizar que, em minha modesta opinio, a frmula acima no segue as
boas prticas de programao, acabando por depor contra seu autor.

sexta-feira, 18 de julho de 2008 21:26

7 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Ok Otvio, vamos tentar novamente... eu vou continuar utilizando nesta planilha apenas a frmula =PROCV(BM10;
INDIRETO("Dados!B1:Z100");9). Porm eu gostaria que voc inserisse nela o argumento para que ela retorne os
dados com quebra de texto, quando houver e quando no, retorne normal.

0
Entrar
para
Votar

Tks
Jerson

segunda-feira, 21 de julho de 2008 11:54

Bom dia, Jerson.

Para que eu possa ajud-lo, vou precisar que voc seja, por favor, mais explcito, respondendo-me os
seguintes pontos:

0
Entrar
para
Votar

1. Em quais clulas (ou intervalo de clulas)se encontram os dados antes da concatenao. Isso equivale
ao desenho abaixo, cpia da informao colocada por voc em seu questionamento:
+------+------+
| 1 | 20ST |
| 1 | 20VH |
+------+------+

2. Em quais clulas (ou intervalo de clulas)estaro os dados possivelmente concatenados. Na clula


BM10? Isto equivale ao seguinte desenho:
+----------+
| 1 X 20ST |
| 1 X 20VH |
+----------+

3. Finalmente, em que parte da frmula ou em substituioa que parmetro voc quer que a frmula seja
colocada.

Resta-me, to somente, te pedir desculpas pelo meu parco entendimento.

Atenciosamente,

segunda-feira, 21 de julho de 2008 12:26

8 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Tambm peo desculpas por meu exguo conhecimento, mas vamos l... a PROCV busca os dados em uma linha de
acordo com um critrio pr-estabelecido, certo? Ento vamos a minha frmula:

0
Entrar
para
Votar

=PROCV(BM10;INDIRETO("Dados!B1:Z100");9), onde:

BM10 a clula onde insiro o critrio, ou seja, o nmero do documento. Esta clula fica na plan "x".

Dados!B1:Z100 a matriz, na plan Dados.

9 a coluna onde encontra-se o dado solicitado.

Digamos que em BM10, plan "x",eu digite o nmero de um documento"y" e que, em Dados, este doc
esteja na linha 5. Ento o dado que euestou buscandoest em Dados!I5, certo? Agora digamos que este
dado esteja com quebra de texto. Ento eu preciso que a frmula =PROCV(BM10;
INDIRETO("Dados!B1:Z100");9), contenha o argumentoCARACT(10), que, pelo que entendi, o argumento
que retorna um dado com quebra de texto.

Em suma, eu s preciso que voc adicione frmula =PROCV(BM10;INDIRETO("Dados!B1:Z100");9), um


argumento (CARACT(10)???) que retorne o dado com quebra de texto, se na clula original ele estiver com
quebra de texto. Caso o dado esteja no formato normal, retorna como tal.

Tks
Jerson

segunda-feira, 21 de julho de 2008 14:36

9 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Ol, Jerson.

Gostaria de contar com sua pacincia para me passar mais duas informaes:

0
Entrar
para
Votar

1. D-me exemplos de dados do intervalo Dados!B1:B100, onde ser realizada a procura pela coincidncia
com X ! BM10. Estes dados so resultado da aplicao da frmula original que te passei (aquela da
primeira resposta)?
2. D-me exemplos do tipo de informao que voc pretende digitar na clula X ! BM10 e com que tipo de
informao no intervalo Dados ! B1:B100 ele deveria coincidir. Observe que no me interessa o retorno da
funo, ou seja, o dado presente na coluna 9 de Dados ! B1:Z100 e sim o valor encontrado como
coincidente no intervalo Dados ! B1:B100.

Por ora, tomo a liberdade de adiantar que, at onde eu sei, a funo PROCV() procura por uma ocorrncia
do primeiro parmetro (exata ou inexata e, no seu caso, inexata pois voc omitiu o terceiro parmetro)
dentro do intervalo especificado como segundo parmetro. Portando, para que a procura funcione voc
deve digitar, em BM10, o dado da forma como espera encontr-lo no intervalo Dados ! B1:B100.

Reiterando queconto com sua pacincia, aguardo seu retorno.


Atenciosamente,

tera-feira, 22 de julho de 2008 00:26

Vamos l...

0
Entrar
para
Votar

1. Os dados da plan Dados so importados atravs de arquivo txt. Na coluna B esto alocados os nmeros
dos documentos e nas demais, outros dados relativos aos documentos. Nesta planilha, no estou
utilizando aquela primeira frmula.

2. Na X!BM10 eu digito o nmero do documento, Ex. BR1356532, que deve coincidir com o nmero do
documento procurado na Dados!B1:B100.

A ttulo de esclarecimento, o que estou criando um modelo de fatura. Eu carrego as informaes na plan
Dados e organizo-os na plan X, utilizando a frmula PROCV, distribuindo as informaes de acordo com o
layout da fatura.

Agradeo seu empenho em entender minha necessidade e resolver meu problema.

Tks
Jerson

tera-feira, 22 de julho de 2008 12:37

10 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Ol, Jerson.

0
Entrar
para
Votar

Minha mulher costuma dizer que eu sou o sujeito mais teimoso do mundo e, em momentos como este,
sinto-me compelido a corroborar com ela. Digo isso porque, ao analisar as mensagens anteriores e, em
especial, esta,
JVieira wrote:
Perfeito, Otvio. Sem querer abusar de sua boa vontade, vou precisar desta mesma
frmula numa outra planilha s que utilizando PROCV.No momento estouutilizando a
seguinte frmula: =CONCATENAR(PROCV(BM10;INDIRETO("Dados!B1:Z100");9);" X
";PROCV(BM10;INDIRETO("Dados!B1:Z100");10)).

Tks
Jerson

fico com a insistente - ou teimosa - sensao de que o que voc deseja concatenar o valor retornado
pela funo
PROCV(BM10;INDIRETO("Dados!B1:Z100");9) com o valor retornado pela funo
PROCV(BM10;INDIRETO("Dados!B1:Z100");10), nos mesmos moldes que, no incio, concatenamos os
valores presentes nas clulas A1 e B1.
Agora, por favor, responda - me: isso mesmo ou eu estou teimando em entender errado?
Caso eu, ainda, esteja entendendo errado, d-me, por favor, exemplos dos valores sobre os quais voc
quer aplicar a frmula e onde eles se encontram.
Atenciosamente,

tera-feira, 22 de julho de 2008 18:43

11 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Cara, no liga no,minha mulhertambm fala a mesma coisa... hehehe

0
Entrar
para
Votar

Mas voc tem razo em teimar. que como a frmula ficou muito grande e eu trabalho com o Excel 2003,
eu resolvi simplificar e no concatenar os dados. Portanto a soluo queseria:
DE
1

20ST

20VH

PARA
1 X 20ST
1 X 20VH

Ficou assim:
DE
1

20ST

20VH

PARA
1
1

20ST
20VH

Desta forma no seria necessrio concatenar os dados e a frmula ficaria bem menor. Portanto, basta que
voc insira na frmulaPROCV(BM10;INDIRETO("Dados!B1:Z100");9) aquele argumento que retorna o dado
com quebra de texto. Caso minha explicao ainda esteja nebulosa, posso te enviar uma planilha modelo.

Tks
Jerson

tera-feira, 22 de julho de 2008 20:46

12 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Ol, Jerson.
Vou dividir este post em dois tpicos, a saber: o primeiro tentar uma possvel soluo para sua demanda
e o segundo uma sugesto de como eu faria, que voc pode ou no adotar.

0
Entrar
para
Votar

1. Possvel Soluo:
a. Antes de mais nada, saiba que, atravs de frmulas, no consigo centralizar o X no valor retornado pois,
at onde eu saiba, isso s pode ser conseguido atravs de formatao da clula (algum tipo bem esotrico
do qual nem mais me lembro).
b. Isto posto, creio que a frmula abaixo poder ajud-lo:
Code Snippet
=SE(.NO.DISP(PROCV(BM10;INDIRETO("Dados!B1:Z100");9));"";SE(ERROS(LOCALIZAR(CARACT(10);
PROCV(BM10;INDIRETO("Dados!B1:Z100");9)));PROCV(BM10;INDIRETO("Dados!B1:Z100");9) & " X
";SUBSTITUIR(PROCV(BM10;INDIRETO("Dados!B1:Z100");9);CARACT(10);" X " & CARACT(10);1)))

Observe que a frmula acima, embora menor, tambm no nenhum bom exemplo de programao, j
que a consulta repetida vrias vezes o que degrada a performance. Em resumo, nunca ponha uma
frmula dessas no seu currculo.
c. Ainda sobre a frmula acima, ela produzir um resultado similar aos abaixo:
c.1. Sem quebra de texto: 1 ser transformado em 1 X
c.2 Com quebra de texto:
1 ser transformado em 1 X
1 1

2. Minha (modesta) sugesto:


a. Em sua planilha Dados, separe uma coluna qualquer que tenha a altura de seu intervalo (e que pode
ficar oculta depois). Separei, para exemplificar, o intervalo AB1:AB100. Observe que esta coluna est
separada do intervalo B1:Z100 pela coluna AA, mostrando que sua coluna de clculo no precisa estar
colada no intervalo.
b. Considerando que a nona e a dcima coluna de seu intervalo B1:Z100 so, respectivamente, os
intervalos J1:J100 e K1:K100, vamos inserir, em AB1, uma frmula que faa a concatenao pretendida. A
frmula ficar assim:
Code Snippet
=SE(OU(CL.VAZIA(J1);CL.VAZIA(K1));"";SE(OU(ERRO(LOCALIZAR(CARACT(10);
J1));ERRO(LOCALIZAR(CARACT(10);K1)));J1 & " X " & K1;EXT.TEXTO(J1;1;(LOCALIZAR(CARACT(10);J1))-1) &
" X " & EXT.TEXTO(K1;1;(LOCALIZAR(CARACT(10);K1))-1) & CARACT(10) & EXT.TEXTO(J1;
(LOCALIZAR(CARACT(10);J1))+1;NM.CARACT(J1)-(LOCALIZAR(CARACT(10);J1))) & " X " & EXT.TEXTO(K1;
(LOCALIZAR(CARACT(10);K1))+1;NM.CARACT(K1)-(LOCALIZAR(CARACT(10);K1)))))

c. Copie a frmula para baixo, abarcando as demais clulas do intervalo AB1:AB100.


d. Finalmente, modifique seu PROCV() para:
PROCV(BM10;INDIRETO("Dados!B1:AB100");27)
Observe, na frmula acima, que a coluna AB1:AB100 a vigsima stima coluna do intervalo B1:AB100.

Caso estas duas sugestes no atendam suas necessidades, faa-me saber para que possamos, juntos,
atingir uma soluo adequada.

13 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Otvio, como o X no precisa aparecer na mesma clula que o valor procurado,vou ficar apenascom a ltima linha
da primeira frmula: =SUBSTITUIR(PROCV(BM10;INDIRETO("Dados!B1:Z100");9);CARACT(10);CARACT(10);1). Era

exatamente o que eu procurava!

0
Entrar
para
Votar

Embora sua sugesto tambm seja vlida, a frmula acima atende perfeitamente a minha necessidade.
Muito obrigado pela ajuda e me desculpe a amolao.

Um grande abrao,
Jerson

quarta-feira, 23 de julho de 2008 16:06

Ol, Jerson.

Mas, por falar em teimosia ...

0
Entrar
para
Votar

retorno a este tpico para alert-lo que a frmula por voc postada acima faz aquilo que, na linguagem
popular, expresso como "trocar seis por meia dzia".
Isso porque quando voc desmonta a frmula:
=SUBSTITUIR(PROCV(BM10;INDIRETO("Dados!B1:Z100");9);CARACT(10);CARACT(10);1)
voc observa que o que ela faz substituir a primeira ocorrncia deCARACT(10)
emPROCV(BM10;INDIRETO("Dados!B1:Z100");9)por outro CARACT(10) o que, convenhamos, no
altera o valor de retorno.
Tomo, ento, a liberdade de sugerir a voc que revise esse cdigo e seus objetivos para conferir se tem o
que pretendia. Em caso negativo, saiba que estaremos (eu, como os demais colaboradores) ad eternum
aqui sua disposio.
Atenciosamente,

quarta-feira, 23 de julho de 2008 18:35

Fique tranqilo, meu "teimoso" amigo... eu entendo bulhufas de programao, mas a frmula est fazendo
exatamente o que eu queria... no vamos mexer com est quieto... hehehe

0
Entrar
para
Votar

Um grande abrao Otvio, e, mais uma vez, muito obrigado por sua ateno.

Sds
Jerson

quarta-feira, 23 de julho de 2008 19:00

14 de 15

12/03/2016 17:32

CONCATENAR DADOS COM QUEBRA DE TEXTO

Centros do desenvolvedor
Windows
Office

https://social.msdn.microsoft.com/Forums/pt-BR/940e6608-6a55-436c-...

Recursos de aprendizagem

Comunidade

Suporte

Microsoft Virtual Academy

Fruns

Suporte autnomo

Channel 9

Blogs

MSDN Magazine

Codeplex

Visual Studio
Programas
Microsoft Azure

BizSpark (para iniciantes)


DreamSpark

Mais...

Brasil (Portugus)

15 de 15

Imagine Cup

Boletim informativo

Privacidade & cookies

Termos de uso

Marcas comerciais

2016 Microsoft

12/03/2016 17:32

Вам также может понравиться