Notifications
Clear all

Dividindo trabalho em projetos

6 Posts
2 Usuários
0 Reactions
1,370 Visualizações
(@gtsalikis)
Posts: 2373
Noble Member
Topic starter
 

Boa tarde, caros amigos planilhando.

Estou com um problema que me fundiu a cuca, e nada de sair do lugar. Estou colocando a planilha em anexo, pra que possam entender melhor (não achei nada semelhante no forum).

Essa planilha tem um controle de demanda de produção, onde o foco são os editores (tenho 5 editores). Embora existam várias colunas com prazos, meu problema fica com apenas 2 colunas - a coluna que indica quando o projeto é passado para o editor (M), e a coluna que indica quando tudo está terminado, deixando o editor livre para receber outro material (U).

O que preciso fazer, é achar uma forma de automatizar a selação do editor. A planilha teria que verificar se o editor 1 está livre para receber um projeto, ou não. Caso ele não esteja, ela tentaria o editor 2, 3, 4 e 5. Se nenhum deles estivesse livre, gostaria que ela me informasse qual o dia em que terei um editor livre.

No formato em que está, a escolha dos editores tem que ser feita manualmente, e a planilha se limita a dizer se o editor está ocupado ou não.

Se alguém puder ajudar, agradeço.

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 02/04/2013 10:35 am
(@gtsalikis)
Posts: 2373
Noble Member
Topic starter
 

Amigos, tentando aqui, acredito que teria que fazer uma macro (mas eu nunca fiz, nem sei nada de VBA).

Tentando e pesquisando, cheguei ao seguinte código:

Sub teste()
'
'tentando fazer alguma coisa
'
    Range("P7") = 1 'insere o valor 1 (editor 1)
    Dim ncell As String
    
    ncell = Range("Q7").Value 'capta o valor de T7
    
    If ncell = "ocupado" Then Range("P7") = 2 'se o editor 1 estiver ocupado, tenta o editor 2
    
    If ncell = "ocupado" Then Range("P7") = 3 'se o editor 2 estiver ocupado, tenta o editor 3
    
    If ncell = "ocupado" Then Range("P7") = 4 'se o editor 3 estiver ocupado, tenta o editor 4
    
    If ncell = "ocupado" Then Range("P7") = 5 'se o editor 4 estiver ocupado, tenta o editor 5
   
    If ncell = "ocupado" Then Range("P7") = "não há" 'se o editor 5 estiver ocupado, informa que não há editor livre
   

End Sub

Deu certo, considerando a linha 7. Entratanto, como faço para que a macro seja executada em todas as linhas onde tenho informações?

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 05/04/2013 12:31 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tentei, mas não entedi oque deseja.
O que define Editor Ocupado?
No seu exemplo:Em p2 tem editor 1, termino previsto em 13/05; então ele está ocupado ou livre??

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/04/2013 12:46 pm
(@gtsalikis)
Posts: 2373
Noble Member
Topic starter
 

Na verdade, a coluna de editores (P) eu preenchi manualmente, e é exatamente o que quero automatizar.

Nesse caso, Reinaldo, o editor 1 estará livre após 13/05. Mas isso eu já defini na coluna "Q". Ela já verifica se o editor está livre ou ocupado.
Assim, toda vez que eu colocar um editor na coluna "P", a planilha já me retorna em "Q" da linha correspondente se o editor está livre, que é o que estou usando para a macro.

Meu problema é que eu consegui fazer isso funcionar somente para uma linha (no caso, usei a linha 7 aleatoriamente). Eu preciso que a mesma coisa que acontece na linha 7 aconteça em todas as linhas, ou seja:

A macro atribui o editor 1 para o primeiro projeto (P2). Se ele estiver ocupado, a célula Q2 vai informar "ocupado", então a macro tenta o editor 2, até o 5.
Encontrando um editor livre para P2, a macro vai atribuir um editor para P3, seguindo a mesma lógica.
Repete isso até P90.

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 05/04/2013 1:13 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O que preciso fazer, é achar uma forma de automatizar a selação do editor. A planilha teria que verificar se o editor 1 está livre para receber um projeto, ou não. Caso ele não esteja, ela tentaria o editor 2, 3, 4 e 5. Se nenhum deles estivesse livre, gostaria que ela me informasse qual o dia em que terei um editor livre.

No formato em que está, a escolha dos editores tem que ser feita manualmente, e a planilha se limita a dizer se o editor está ocupado ou não.

Se alguém puder ajudar, agradeço.

gtsalikis,

O que deixo no anexo é a tal captura do editor livre pela data mais recente. Com relação à situação de nenhum livre podemos tratar adiante.Como é bem complexo, primeiro me diga se a busca faz sentido (verde - selecionado livre, amarelo - selecionado fórmula, vermelho - todos ocupados).

Me avise se iremos adiante ou não.

F9 para testar.

Abs

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/04/2013 3:11 am
(@gtsalikis)
Posts: 2373
Noble Member
Topic starter
 

Caraca, Mandrix, essa fórmula matricial que vc colocou na planilha eu vou levar um mês pra entender, hehe. Muito obrigado pela ajuda.

Entretanto, eu acabei agora de fechar a planilha, após um fim de semana inteiro dedicado a fazer isso. (O prazo era para sexta passada, e só agora consegui terminar).

Vim ao fórum para apresentar o que consegui, e agradecer ao Reinaldo pela atenção.

Eu coloquei muitas fórmulas em células ocultas, e a solução em VBA está bem pobre.

Mas foi a primeira vez que fiz uma fórmula matricial, e em especial, o meu primeiro projeto com VBA. Pra quem não sabia nada, ter conseguido um resultado já é uma conquista.

Pelo "manual" que coloquei ao final da planilha e pelo código da macro acredito que dá pra entender bem o que eu precisava.

Valeu!!

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 07/04/2013 8:33 pm