Notifications
Clear all

Subir os dados para linha de cima

5 Posts
1 Usuários
0 Reactions
1,917 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Amigos, tenho o seguinte caso e não consigo resolver:

tenho uma planilha tipo banco de dados. As colunas são, nome, data de admissão, salário, cargo etc.......
Cada linha é um funcionário.

Eu vou inserir dois botões no topo da tela.
Um com uma seta para baixo
Outro com uma seta para cima.

O que eu preciso que estes botões façam ?

Bem, vou deixar a célula do nome selecionada.
quendo eu clicar no botão SETA PARA CIMA, quero que os dados desta linha, troquem de lugar com a linha de cima
Se eu clicar no botão, SETA PARA BAIXO, os dados dessa linha devem trocar de lugar com a linha debaixo.

A ideia é que eu possa subir e descer uma pessoa na ordem, apenas clicando nos botões.

tentei este código mas não funciona.

ActiveCell.Offset(-1, 0).Select
Selection.EntireRow.Insert
Range(ActiveCell.End(xlToLeft), ActiveCell.End(xlToLeft)).Select

ActiveCell.Offset(2, 0).Select
Rows("9:9").Select
Selection.Cut

ActiveCell.Offset(-2, 0).Select
Range(ActiveCell.End(xlToLeft), ActiveCell.End(xlToLeft)).Select
ActiveSheet.Paste

ActiveCell.Offset(2, 0).Select

Rows("9:9").Select
Selection.Delete Shift:=xlUp

Range(ActiveCell.End(xlToLeft), ActiveCell.End(xlToLeft)).Select

podem me ajudar ?

valeu !

 
Postado : 18/03/2013 2:08 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Eu estou indo para o curso e não posso me atrasar, veja se te ajuda.
Tente adaptar

Sub MoverParaBaixo()
    Rows(ActiveCell.Row).Cut
    Rows(ActiveCell.Row + 2).Insert Shift:=xlDown
End Sub

Leia:
'http://msdn.microsoft.com/en-us/library/office/aa212380(v=office.11).aspx

Att

 
Postado : 18/03/2013 3:38 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Amigo, deu quase certo.
Na verdade deu certo mas eu ta rolando um pequeno imprevisto.

Observei que ao executar o código, ele de fatro troca os dados com a linha de baixo.
Mas não me fiz entender totalmente eu creio.

Imagine uma planilha com 50 nomes. Vou mandar essa planilha para uma pessoa que vai ter que informar a ordem de prioridade que deseja atendimento.
(vou atender a todas as 50 pessoas. Mas quem receber essa planilha tem que informar a ordem de atendimento.

Quero incluir no topo da tela dois botões. Um vai subir a linha e o outro vai descer a linha. (são os códigos para incluir nestes botões que não consigo fazer)

Então, se o Nome José estiver em 10º e a pessoa que define a ordem de prioridade quiser que José seja o primeiro a ser atendido, ele vai deixar o cursor na linha do josé e vai clicar no botão SUBIR. Cada clique que a pessoa der no botão SUBIR, José sobe uma linha.

resumo:
O botão SUBIR deve trocar a linha ativa pela linha de cima
O botão DESCER deve trocar a linha tiva pela linha de baixo

Não sei se estou conseguindo ser claro.

Muito obrigado por sua especial ajuda e atenção.
Agrande abraço.

 
Postado : 19/03/2013 6:19 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre,

aproveitando seu código e colocando apenas mais uma linha, resolvi o meu caso.
Agora, queria só mais uma coisa que seria o pulo do gato.

Veja no anexo. Coloquei uma última coluna que é a ordem de prioridade. Vai no exemplo, de 1 a 29.
O caso é que quando eu subo ou desço uma pessoa, o número da coluna ORDEM DE PRIORIDADE vai junto.
Esta coluna eu queria que não mudasse. Ficasse sempre de 1 a 29.

Tem um jeito de fazer isso ?

Muito obrigado pela ajuda meu caor. Vais me resolver um caso importante.

Valeu !

 
Postado : 19/03/2013 6:44 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Irmão, valeu !

Com o que vc me passou eu fechei o caso.

Salvastes geral. Muito grato.
Abraço.

 
Postado : 19/03/2013 12:14 pm