Jump to content
Elisa Maio

[Resolvido] Mudar de célula

Recommended Posts

Elisa Maio

Bom dia,

Estou com uma dúvida em vba e preciso de ajuda! O que eu quero fazer é o seguinte:

Tenho a coluna "E" com vários códigos por exemplo:

5485900235

(linha em branco)

5486300222

5485900355

(linha em branco)

..

..

O que eu quero fazer é, analisar célula a célula, se os 3 últimos números do código for um número impar eu quero que passe para a célula abaixo! Se os 3 últimos números do código for um numero par eu quero que passe para a célula ao lado do código impar (que baixou de célula inicialmente). Será que me diz entender?

Obrigada!!

Share this post


Link to post
Share on other sites
tiago.f

Olá Elisa,

só para confirmar, começando com:

5485900235
(linha em branco)
5486300222
5485900355
(linha em branco)

queres obter

<Coluna E>		 <Coluna F>
(linha em branco) (linha em branco)
5485900235		 5486300222
(linha em branco) (linha em branco)
(linha em branco) (linha em branco)
5485900355		 (linha em branco)

é isso ?

o que acontece quando temos 2 códigos pares de seguida?

o que acontece se não houver linha em branco quando movemos um codigo impar? substitui o que lá estava?

Edited by tiago.f

Share this post


Link to post
Share on other sites
Elisa Maio

Antes de mais, obrigada pela sua ajuda!

Neste primeiro caso eu quero:

- O código que acaba em impar (excluindo os últimos zeros), passe para a célula abaixo;

- E quero que o código que acaba em par (excluindo os últimos zeros), passe para a célula ao lado.

- Ao mesmo tempo quero que apague as linhas que ficam em branco!

Quando temos 2 códigos pares seguidos, imaginemos:

5559900519

5559900517

5559900515

5556600222

Isto tem de ficar :

<Coluna E> <Coluna F>

5559900519 5556600222

5559900517 5556600222

5559900515 5556600222

Obrigada!

Edited by Elisa Maio

Share this post


Link to post
Share on other sites
tiago.f

Olá Elisa,

como fica neste caso:

5559900519
5556600224
5559900517
5556600226
5556600228
5559900515

5556600222

?

Edited by tiago.f

Share this post


Link to post
Share on other sites
Elisa Maio

Terá de ficar :

5559900519 5556600222

5556600224 5556600222

5559900517 5556600222

5556600226 5556600222

5556600228 5556600222

5559900515 5556600222

Share this post


Link to post
Share on other sites
tiago.f

hmm então os que acabam em 24, 26 e 28 não passam para a coluna F ?

Só passa se houver uma linha em branco antes, é isso?

Edited by tiago.f

Share this post


Link to post
Share on other sites
tiago.f

Podes por favor partilhar a solução para que outros que se deparem com este tópico?

Share this post


Link to post
Share on other sites
Elisa Maio

Aqui está:

For i = 3 To lastRow

If Cells(i, 5) <> "" Then

nr = Mid(Cells(i, 5), 4, 5)

par = isPar(nr)

If Not par Then

Cells(i, 5).Select

If Cells(i + 1, 5) = "" Then

Selection.Cut Destination:=Cells(i + 1, 5)

i = i + 1

End If

Else

Cells(i, 5).Select

Selection.Cut Destination:=Cells(i - 1, 6)

End If

End If

Next

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.