• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

dragonfire

Rotina em Excel - Por cada 8 entradas sai uma

11 mensagens neste tópico

Olá a todos!

Sou muito inexperiente nesta linguagem (VBA), mas aqui na empresa pediram-me para fazer uma pequena aplicação em Excel com uma rotina de input de dados (id + nome) onde por cada 8 novas entradas, fosse eliminada a que estivesse em primeiro lugar e as restantes fossem reordenadas, o 2 passa a 1, o 3 a 2, o 4 a 5 e assim  sucessivamente. Todos os que saírem devem ser registados numa coluna à parte.   

Alguém me poderia dar uma ajuda? Não sei por onde começar.

Agradeço desde já a vossa possível ajuda.

Dragonfire

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Desde agradeço o teu interesse em ajudar.

Vou tentar ser mais explicito:

- 2 worksheets

- Numa damos entrada de utilizadores e o respectivo Id:

1 - Jorge

2 - Jonas

3 - Ana

.....

(Pode ser por formulário ou à unha, o que der menos trabalho)

- Na segunda folha apareceria uma lista com as posições e nome de cada utilizador (de 1 a x) tendo em conta que:

  - A cada 8 registos o 1º salta fora

  - As posições são actualizadas (o 2º passa a 1º, 3º a 2º e por aí fora)

  - O id de cada utilizador (da 1ª worksheet) apenas é necessário para a contagem, na 2ª worksheet não é necessário aparecer, nesta basta aparecer a posição e o nome.

Ex. Quando dermos entrada do 8º utilizador o "Jorge" Saltaria fora e todos subiam uma posição.

Há um pormenor que o cliente também quer mas que pode ficar para o fim que é:

- Os que saltam fora vão para uma lista à parte, pode ser na mesma folha ou noutra.

Isto é para um concurso que o cliente está a fazer em que para cada 8 adesões sai um prémio.

Agradeço mais uma vez a vossa possível ajuda!

Abraços

Jorge Teixeira

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já fiz o formulário para introduzir os dados, mas estou com um problema. Como é que faço para fazer regressar o formulário depois de o fechar?

Ele está a abrir na 1ª vez que abro o livro.

As restantes tarefas ainda não consegui por isso ainda agradeço ajuda.

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não consegues fazer o upload do ficheiro ? (ou de um exemplo)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Ainda tenho pouco código.

Apenas criei o formulário que está a introduzir numa coluna um id de forma automática e um nome por input de texto.

Ele está a fazer a inserção dos dados direitinha, mas quando fecho o formulário já não consigo chamá-lo de novo a não ser fechando o livro e tornando a abrir.

Quanto ao resto da rotina explico-a no meu 2º post detalhadamente.

Obrigado mais uma vez pela ajuda

Jorge

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é que não estou mesmo a ver o que queres ... não estou a perceber a lógica do salta fora, etc.

Não consegues mostra uma imagem do ficheiro e colocar uns comentários ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa, devo-me ter expresso mal, o salta fora é mesmo "eliminado", do género:

1 - Ana

2 - Sara

3 - Carla

4 - Carlos

5 - João

6 - Jorge

7 - Manel

8 - Joaquim

(quando introduzisse o Joaquim, a Ana passa para uma coluna à parte e a lista reorganiza-se assim...)

1- Sara

2- Carla

... e por aí fora até entrar o 16º a contar com a Ana, aí era a sara que ia fazer companhia à Ana a Carla ia para o topo da lista.

É só isto.

Já agora a questão do formulário, sabes como resolvo? Já introduzo os dados direito, mas quando o fecho não sei tornar a activá-lo sem fechar o ficheiro e torna a abrir.

Obrigado Jorge pela ajuda

Jorge Teixeira

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1º Ponto

Escreves num formulário on na propria worksheet ?

2º Ponto

Podes criar um botão e utilizar UserForm1.Show

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa lá o atraso da resposta mas não foi possível antes.

Mostra lá o que tens feito e o que está a faltar.

Basicamente deves utilizar uma célula escondida para ir guardando as posições(de 7 em 7) e quando chegares à posição correcta, copias o primeiro da lista para uma nova worksheet, apagas a primeira linha e incrementas o contador (na célula escondida).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora