Jump to content

[Resolvido] Mudar de célula


Elisa Maio
 Share

Recommended Posts

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!!

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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

Link to comment
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
 Share

×
×
  • 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.