Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Localizar e Substituir - Campo alfanumerico e Macro

160 views
Skip to first unread message

Hugo Rosa

unread,
Jul 16, 2008, 6:42:01 AM7/16/08
to
Bom dia,
gostaria de solicitar ajuda para saber como posso eu utilizar correctamente
a funcionalidade "Localizar e Substituir" no Excel.
Tenho uma coluna onde num unico passo gostaria de substuir campos do tipo:

XY28102586A1
XY28102586A2
XY28102586A3
XY28102586A4

para
81025861
81025862
81025863
81025864

Primeiro gostaria de saber a regra para utilizar directamente no comando do
Excel em "Editar - Substiuir" e no final colocar a funcionalidade numa macro
com um comando do tipo:

Columns("C:C").Select
Selection.Replace What:="XY28******A1", Replacement:="8******1",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Columns("C:C").Select
Selection.Replace What:="XY28******A2", Replacement:="8******2",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Columns("C:C").Select
Selection.Replace What:="XY28******A3", Replacement:="8******3",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Columns("C:C").Select
Selection.Replace What:="XY28******A4", Replacement:="8******4",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Claro... O exemplo acima NÃO funciona! A procura é feita correctamente MAS o
que aparece na coluna é 8******1 e não o valor que eu pretendo 81025861, e
dai sucessivamente...

Alguém me sabe dar umas dicas?

Agradeço desde já toda a ajuda.

Cumprimentos.

Hugo Rosa.

JRod

unread,
Jul 17, 2008, 7:26:29 AM7/17/08
to
Hugo,

Só necessitas de fazer isto numa outra célula, p. ex. adjacente à que tens:

EX. em A1 B1

XY28102586A1 =SEG.TEXTO(A1;3;8) [ ou, se
tiveres o Excel em inglês: MID(A1;3;8) ]


Depois, é só copiares a fórmula pela coluna B, em relação à coluna A.

Fica bem e diz qq coisa, ok?

--
JRod

Microsoft Excel MVP
Site: http://www.exceler.org
Blog: http://exceler.blogspot.com
Email1: ma...@exceler.org
Email2: jorge.r...@exceler.org
______________________________________________________________

"Hugo Rosa" <hugo...@megamail.pt> escreveu na notícia da
mensagem:#MC3OCz5...@TK2MSFTNGP06.phx.gbl...

Hugo Rosa

unread,
Jul 17, 2008, 11:06:06 AM7/17/08
to
Obrigado pela dica JRod.

E se eu quiser filtrar a informação de maneira a que:

Pegando no exemplo dado "XY28102586A1" para TODOS os valores deste tipo que
terminem em "A1", de forma automatica suprimir o inicio "XY28" e adicionar
logo no inicio o algarismo "1" de maneira a que fique:

De "XY28102586A1" passar a ""1102586"

Isto é possivel em Excel ou nem por isso...

Cumprimentos.

Hugo Rosa.

"JRod" <blog.e...@sapo.pt> wrote in message
news:FB13B788-259B-405E...@microsoft.com...

M_V_S

unread,
Jul 17, 2008, 12:10:25 PM7/17/08
to
On 17 Jul, 16:06, "Hugo Rosa" <hugo.r...@megamail.pt> wrote:
> Obrigado pela dica JRod.
>
> E se eu quiser filtrar a informação de maneira a que:
>
> Pegando no exemplo dado "XY28102586A1" para TODOS os valores deste tipo que
> terminem em "A1", de forma automatica suprimir o inicio "XY28" e adicionar
> logo no inicio o algarismo "1" de maneira a que fique:
>
> De "XY28102586A1" passar a ""1102586"
>
> Isto é possivel em Excel ou nem por isso...
>
> Cumprimentos.
>
> Hugo Rosa.
>
> "JRod" <blog.exce...@sapo.pt> wrote in message

>
> news:FB13B788-259B-405E...@microsoft.com...
>
>
>
> > Hugo,
>
> > Só necessitas de fazer isto numa outra célula, p. ex. adjacente à que
> > tens:
>
> > EX. em          A1                                        B1
>
> >                   XY28102586A1               =SEG.TEXTO(A1;3;8)  [   ou,
> > se tiveres o Excel em inglês: MID(A1;3;8)    ]
>
> > Depois,  é só copiares a fórmula pela coluna B, em relação à coluna A.
>
> > Fica bem e diz qq coisa, ok?
>
> > --
> > JRod
>
> > Microsoft Excel MVP
> > Site:http://www.exceler.org
> > Blog:http://exceler.blogspot.com
> > Email1: m...@exceler.org
> > Email2: jorge.rodrig...@exceler.org
> > ______________________________________________________________
>
> > "Hugo Rosa" <hugo.r...@megamail.pt> escreveu na notícia da
> > mensagem:#MC3OCz5IHA.3...@TK2MSFTNGP06.phx.gbl...
> >> Hugo Rosa.- Ocultar texto citado -
>
> - Mostrar texto citado -


Olá,

A solução que eu apontaria seria criar 2 colunas, em que a 1ª coluna,
utilizar-se-ia a fórmula +esquerda(a célula visada;10), na 2ª coluna,
colocaria +direita(a coluna anterior;8). Assim, nesta 2ª coluna só
apareceriam os n.ºs pretendidos.

MS

JRod

unread,
Jul 19, 2008, 4:49:28 PM7/19/08
to
Hugo,

é só adaptares: =1 & SEG.TEXTO(A1;5;6)

Experimenta e diz qq coisa, ok?


--
JRod

__________________________________________--


"Hugo Rosa" <hugo...@megamail.pt> escreveu na notícia da

mensagem:OTNql6B6...@TK2MSFTNGP03.phx.gbl...

0 new messages