Página 1 de 1

Planejamento de Limpeza Veiculos

Enviado: 06 Out 2015 às 16:52
por anacletotranstusa
Boa Tarde,
Estou tentando criar um planejamento de limpeza de veículos (Exemplo Anexo).
No exemplo, possui quatro abas, a primeira aba "Pendentes", são todos os equipamentos com serviços a serem executados, na segunda aba, são os serviços já realizados, na terceira aba, seria uma base de dados de todos os equipamentos cadastradas e por ultimo a aba ResumoPendencias, essa aba deverá me apresentar os serviços ainda pendentes, ou seja, deverá verificar a aba pendentes, compara com os dados da aba Realizados e apresenta só os serviços pendentes "não realizados".
A as informações da aba realizados são alimentadas conforme os serviços são realizados, as informações da Aba Pendente são geradas de outro sistema e exportada para Excel.
Os critério a serem comparados entre as duas abas seria entre o numero dos equipamentos e entre as data Limite e data_Realizacao e os serviços.
Desde já agradeço atenção.

Re: Planejamento de Limpeza Veiculos

Enviado: 06 Out 2015 às 17:14
por gdomingos
Anacleto, não tomei a liberdade de alterar sua planilha devido a ela ser alimentada diretamente por dados gerados de um sistema. Então se eu fizer alguma alteração, creio que não resolverá seu problema.

Seu problema é impossível de ser resolvido (com base nas informações atuais da planilha), pelo motivo que as duas planilhas não tem nenhuma referência comparativa entre elas, então fica impossível comparar serviços realizados/pendentes.
Você citou que o critério comparativo seria o número do equipamento e a data, mas as datas não são as mesmas, e o número do equipamento "imagino" que possa se repetir.

Uma alternativa nesse caso, seria criar um número comparativo, como um número de ordem de serviço por exemplo. Mas como já lhe disse não fiz isso devido a planilha ser importada de um sistema.

Re: Planejamento de Limpeza Veiculos

Enviado: 06 Out 2015 às 17:22
por Henrique
Veja se lhe ajuda.

Planejamento de Limpeza Veiculos

Enviado: 06 Out 2015 às 22:14
por anacletotranstusa
Boa noite Henrique,
Primeiramente obrigado.
Baixei seu exemplo, gostei. Está quase atendendo minha necessidade. Realizei alguns lançamentos simulando o dia a dia, ao simular me deparei com algumas inconsistências.
Exemplo: As informações da Aba pendencias é gerada de um sistema, muitas vezes essas informações são atualizadas no decorrer dos meses, na aba realizado, seria uma base de dados, onde será lançado as informações mensal, anual, ou seja, até caiba informações, sendo assim vai repetir varias e várias vezes o equipamento, porem com data e serviço diferentes, na aba resumopendencias, deverá me apresentar somente os equipamentos pendentes, vou representar um exemplo para um melhor entendimento, exemplo: atualizei as informações da aba pendentes, apareceu uma nova informação do equipamento 991 com serviço XXXX data limite xxxx, na aba realizado consta o registro anteiro com realizado, na aba resumopendente, não está
me apresentando as nova informação do carro 991 como pendente, me apresenta a nova data limite porem como as informações do serviço realizado anteriormente, correto seria ficar em branco as informações do realizado, visto que o serviço ainda não foi realizado. Espero que tenha entendido.
Fico no aguardo.
Abraço....

Planejamento de Limpeza Veiculos

Enviado: 07 Out 2015 às 08:24
por Henrique
Vou pensar em uma solução...

Re: Planejamento de Limpeza Veiculos

Enviado: 07 Out 2015 às 10:41
por Henrique
Anacleto,

Fiz uma alteração na planilha que permitirá até 3 repetições de número na aba Pendentes, se você precisar de mais é só colar as colunas e mudar a fórmula na aba ResumoPendências.

Saliento para um problema! Ao você utilizar código 051 (String) e código 51 (Número) em registros de cadastro distintos a função CONT.SE irá retornar o número 2 caso tenha um registro como 051 e um registro como 51, onde na verdade o que você precisaria é que apresentasse que existem somente 1 registro 051 e um registro 51. A solução é usar só números ou só string.

Abraço.

Planejamento de Limpeza Veiculos

Enviado: 07 Out 2015 às 11:19
por anacletotranstusa
Bom dia Henrique,
Entendi! ficou show! Referente ao problemas de código (051) String e o código (51) Número (Tenho vários casos), não tem como eu deixar somente um código, visto que esses códigos são os prefixos dos equipamentos, deve ser tratado como equipamentos diferentes. Preciso tratá-lo como sendo carros diferentes. Teria uma outra forma para contornar esse tipo de problemas. Resolvendo esse problema, farei os ajustes necessários para a implantação da pasta de trabalho. Desde já agradeço sua atenção. :)

Planejamento de Limpeza Veiculos

Enviado: 07 Out 2015 às 11:59
por Henrique
Uma forma que imagino seria transformar tudo em String, sempre inserindo a letra C antes. Ficaria C51 e C051 que agora passam a ser diferentes para a função CONT.SE.

Abraço.

Planejamento de Limpeza Veiculos

Enviado: 07 Out 2015 às 12:06
por anacletotranstusa
Boa ideia, poderia postar um exemplo de como ficaria? Tentei estruturar e não consegui... :roll:

Re: Planejamento de Limpeza Veiculos

Enviado: 07 Out 2015 às 13:11
por Henrique
Segue anexo

Planejamento de Limpeza Veiculos

Enviado: 07 Out 2015 às 14:30
por anacletotranstusa
Ótimo, perfeito! Show de bola.
Muito obrigado pela força..
Abraço!

Re: Planejamento de Limpeza Veiculos

Enviado: 07 Out 2015 às 16:34
por alexandrevba
Boa tarde!!

Sei que já foi resolvido e eu também não vi as postagens anteriores, mas uma forma seria usar filtro, só que isso não terá sentido se não tive uma regra coerente, o código postado, talvez não resolva, mas serve de ideia para sua solução.
Código: Selecionar todos
Sub AleVBA_717()
Dim LR As Long
    LR = Range("B" & Rows.Count).End(xlUp).Row
    With Worksheets("Cadastro")
        With Range("I2:I326")
            .Formula = "=IF(COUNTA(A2:H2)=8,1,0)"
            .Value = .Value
        End With
        If WorksheetFunction.Sum(Range("I2:I" & LR)) = 0 Then
            MsgBox "favor preencher os campos necessários!"
            Exit Sub
        Else
            .Range("$A$1:$I" & LR).AutoFilter Field:=9, Criteria1:="1"
            .Range("A2:H" & LR).Copy Worksheets("Dados").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
            .ShowAllData
            Range("I2:I326").Value = ""
        End If
    End With
End Sub
Att