Notifications
Clear all

Planilha de escala de serviço voluntário

13 Posts
3 Usuários
0 Reactions
2,040 Visualizações
(@gvilioni)
Posts: 0
New Member
Topic starter
 

Boa noite,

Estou tentando criar uma planilha de escala de serviço voluntário, a coluna A seriam os nomes dos voluntários e as colunas de B até AN os dias do mês de janeiro.
Onde está marcado o número 1 é o dia que determinado voluntário está disponível.
E a planilha está em ordem crescente dos voluntários que tem menor disponibilidade para os voluntário que possuem maior disponibilidade de A até N1

Criei uma rotina que localiza o primeiro dia, depois localiza a primeira pessoa disponível naquele dia e copia ela para o final da planilha, e eu gostaria que ela fizesse o looping até que todos os dias de janeiro ("AN46") fosse preenchida. Porém não gostaria de travar nesta célula para que quando eu trocasse o mês ela se atualizasse sozinha.

Encontrei 2 dificuldades,

1 - A condição do meu looping não está funcionando, ele faz mais do que deveria, então se não for depurando o códio o excel trava.

2 - Na décima intereção começa a repetir as células, gostaria de fazer com que todos os voluntários fossem selecionados antes que iniciasse a repetição e não prejudicasse a condição de disponibilidade.

 
Postado : 20/12/2017 7:43 pm
(@klarc28)
Posts: 0
New Member
 

Resposta abaixo.

 
Postado : 20/12/2017 9:03 pm
(@gvilioni)
Posts: 0
New Member
Topic starter
 

Vou tentar se você não entender algo me avise.

1ªDificuldade:
Eu desenvolvi uma rotina para preencher a célula B46 da planilha e gostaria que a mesma rotina fosse executada até nas células B47,B48.. até a última célula da linha 45 que no caso é a AN45 (a AO45 foi por engano - vou apagar essa coluna).

2ªDificuldade:
Dentro dessa rotina para preencher a célula B46 o último comando é colar determinada célula da coluna A, ex: a 1ª iteração produz como valor a célula A8=D, porém a partir da 10ª iteração essa célula se repete, dessa forma, preciso que quando a rotina de preenchimento terminar aquela iteração que produziu um valor já aplicado, no exemplo a letra D ela executasse novamente a rotina com uma alteração.
Ou seja, dessa 2ª Dificuldade, preciso desenvolver uma forma de se algum valor da linha 46 repetir eu colocar uma condição de rotina diferente.

Desde já, agradeço pela atenção.

 
Postado : 20/12/2017 10:09 pm
(@klarc28)
Posts: 0
New Member
 

1ªDificuldade:
Eu desenvolvi uma rotina para preencher a célula B46 da planilha e gostaria que a mesma rotina fosse executada até nas células B47,B48.. até a última célula da linha 45 que no caso é a AN45 (a AO45 foi por engano - vou apagar essa coluna).

Primeiro eu preciso entender isto:

Por que começa na 46 em ordem crescente e depois volta para a 45?

 
Postado : 21/12/2017 3:15 am
(@gvilioni)
Posts: 0
New Member
Topic starter
 

Estava pensando em como explicar melhor, e já agradeço pela paciência.
Eu preciso só que ele conte quantas colunas da linha 45 estão preenchidas para que o looping aconteça até que a linha 46 tenha o mesmo número de colunas preenchidas.
Porque quando isso acontecer, a escala estará preenchida em todos os dias do mês (no caso 31 dias).

 
Postado : 21/12/2017 4:54 am
(@klarc28)
Posts: 0
New Member
 

Resposta abaixo.

 
Postado : 21/12/2017 5:19 am
(@gvilioni)
Posts: 0
New Member
Topic starter
 

Exatamente isso, muito obrigado.
o Whend tem a mesma função do loop?

2ª dúvida:

Agora eu preciso fazer o seguinte:
1 - a minha rotina preenche a linha 46 conforme a rotina.

Fazer com que o excel reconheça o último valor preenchido na linha 46, procure este valor na coluna A, quando encontrar, Copiar toda a linha que contém este valor e recortá-la e reposionála na antipenúltima linha preenchida.

Ex: Após a minha 1ª iteração a célula B46 vai ser preenchida com o resultado "G",
preciso procurar esse resultado na coluna "A" que está, neste caso, na linha 11.
Selecionar toda a linha 11, recortá-la e reposicioná-la na linha, na antipenúltima linha preenchida (linha 44).

 
Postado : 21/12/2017 11:34 am
(@klarc28)
Posts: 0
New Member
 

Resposta abaixo.

 
Postado : 21/12/2017 11:47 am
(@gvilioni)
Posts: 0
New Member
Topic starter
 

Sim, mas tenho que retirar a linha 11, sem o total de linhas.

 
Postado : 21/12/2017 11:53 am
(@klarc28)
Posts: 0
New Member
 

Resposta abaixo.

 
Postado : 21/12/2017 2:01 pm
(@gvilioni)
Posts: 0
New Member
Topic starter
 

Na linha do código:
VALOR = ThisWorkbook.Sheets("Planilha1").Cells(LINHA, COLUNA - 1).Value
apareceu o erro 1004
Erro de definicão de aplicativo ou de definição de objeto

 
Postado : 21/12/2017 3:24 pm
(@klarc28)
Posts: 0
New Member
 

Arquivo anexo

 
Postado : 21/12/2017 4:36 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite gvilioni

Como você é novato, para facilitar a tua participação, sugiro tomar conhecimento do conteúdo dos links abaixo:
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Conforme você poderá ler nas regras do fórum, o titulo deve ser um resumo da dúvida, não sendo permitido o uso de palavras como "ajuda", "urgente",etc., pois atrapalham a ferramenta de pesquisa do fórum.

[]s
Patropi - Moderador

 
Postado : 21/12/2017 5:10 pm