Ir ao conteúdo
  • Cadastre-se

Luis Gustavo Sangy Miranda

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

0
  1. Bom dia a todos, tenho que gerar um grafico no VBA a partir de um banco de dados que criei via macro, porém nuna sequer gerei grafico pelo excel, muito menos via VBA. Portanto, se alguém puder me ajudar, seria muito grato, pois provavelmente terei que gerar graficos varias vezes e utilizaria como base tudo que me for passado aqui. Então vamos ao que preciso: - Gerar um grafico na Aba "Grafico" via VBA sempre que rodar a macro puxando os dados da planilha "BD" ou seja, do banco de Dados. - Dados que devem conter no gráfico: Número total de pedidos: Não pode haver pedidos repetidos, portanto teria que existir uma condição no VBA que caso o número de pedido fosse repetido, não seja computado no Gráfico, apenas um número de pedido, nunca repetidos. % Dos pedidos em dia, em atraso e em Risco: Esses dados estão na última coluna do banco de dados, na aba Status. Obs: A porcentagem é baseada no número total de pedidos, mas alem da porcentagem seria interessante em cada coluna do grafico ter o número total de pedidos em dia, atraso e em Risco. Se algum de vocês puder me ajudar galera, não sei nem como gratifica-los. Pois estou completamente perdido! Desde já, muito Obrigado! Segue planilha em anexo. Progama Indicador de DI (Novo).xlsm
  2. @Basole Irei tentar explicar para que você possa me ajudar. Eu tenho duas planilhas, boletim de produção e Boletim de parada. Na coluna 42 do Boletim de produção como você pode ver na planilha que enviei tem alguns valores que significam o tempo em que meu produto FIcou parado durante a produção, na planilha boletim parada, na coluna 4 mostra também o tempo que meu produto ficou parado num intervalo de tempo. Os dados que eu preciso utilizar no programa são: Na planilha "Boletim de produção" A coluna 24 da planilha bla mostra as hora de termino e a coluna 42 que é o resultado do tempo que ficou parado a produção naquele intervalo de hora da coluna 24. A mesma coisa na planilha "Boletim parada" a coluna 4 mostra o tempo que ficou parado no intervalo de tempo da coluna 3. O objetivo do programa é o seguinte: Quando a hora que estiver na coluna 24 do Boletim de produção for MAIOR que a hora da linha Boletim parada o código deve conferir se o valor TOTAL de parada da coluna 42 até a linha em que a variavél A se encontra, é IGUAL ao valor total da soma das linhas da coluna 4 aonde a variavél B se encontra. Caso os valores sejam identicos ( Com uma tolerancia de 1 minuto pra mais ou pra menos) deve-se colorir de Verde as duas linhas respectivas aonde as variaveis B e A estiverem. Porém, o programa só deve realizar esse cálculo quando tiver algum valor qualquer na linha em que a variavel A estiver na coluna 42. Se o valor for 00:00 não altera em nada, portanto deve ser pulado ( A = a + 1) até que a variavel A esteja em uma linha que há valor, quando houver valor, deve-se conferir com a variavél B, caso os valores não batam B deve receber b = b + 1 até o valor das horas ( coluna 3 ) de B for proximo do valor das horas que a linha em que a variavel A está na coluna 24. E, então, realizar o mesmo procedimento de conta. Ai caso feito a conta num periodo de horas semelhante e realmente a soma dos valores de parada ( coluna 4 Boletim parada) não for Igual a soma dos valores de parada ( coluna 42 Boletim produção) o programa deve colorir de vermelho o campo em que as respectivas variaveis estão para correção dos valores pelo usuario. Desculpe o longo texto e a pessima explicação. Mas deu pra ter uma ideia? Vai olhando o cógido q eu fiz também q da pra ter uma ideia do que quero ( mesmo o código estando um lixo) AcertoBoletim.xlsm
  3. Bom dia a todos, estou criando um programa que deve comparar um certo horário de 2 colunas em 2 planilhas diferentes, após comparar os valores o programa deve seguir a istrução no cógido, sem mais delongas, vamos direto ao problema: Minha variável B não está aumentando o valor (pulando para a proxima linha) porque ela só faz isso quando o valor é MAIOR que o valor da Váriavel A. Eu não estou conseguindo compilar isso no programa. quando vou rodar o programa, apenas a variavel A retorna valor (por conta do FOR). Sub analisar() a = 6 B = 7 Menor = 0 Maior = 0 somaA = 6 SomaB = 7 ContA = Sheets("Boletim Produção").Cells(6, 42) ContB = Sheets("Boletim Parada").Cells(7, 4) For a = 6 To 5000 If Sheets("Boletim Produção").Cells(a, 24) > Sheets("Boletim Parada").Cells(B, 3) Then Menor = ContA - 0.0007 Maior = ContA + 0.0007 If Menor < ContB And Maior > ContB Then ContA = ContA + Sheets("Boletim Produção").Cells(a + 1, 42) ContB = ContB + Sheets("Boletim Parada").Cells(B + 1, 4) Sheets("Boletim Produção").Cells(a, 42).Interior.Color = rgbGreen Sheets("Boletim Parada").Cells(B, 4).Interior.Color = rgbGreen Sheets("Boletim Produção").Cells(10, 47) = ContA a = a - 1 B = B + 1 Else If Sheets("Boletim Parada").Cells(B, 3) > Sheets("Boletim Produção").Cells(a, 24) And Sheets("Boletim Produção").Cells(a, 42) = 0 Then Sheets("Boletim Produção").Cells(a, 42).Interior.Color = rgbRed Sheets("Boletim Parada").Cells(B, 4).Interior.Color = rgbRed a = a - 1 B = B + 1 'ContA = Sheets("Boletim Produção").Cells(a, 42) 'ContB = Sheets("Boletim Parada").Cells(B, 4) 'Else 'If Sheets("Boletim Produção").Cells(a, 42) = 0 Then 'b = b + 1 'ElseIf Sheets("Boletim Parada").Cells(b, 4) < Sheets("Boletim Produção").Cells(a, 24) Then 'b = b + 1 'a = a - 1 'Else 'Sheets("Boletim Produção").Cells(a, 42).Interior.Color = rgbRed 'Sheets("Boletim Parada").Cells(b, 4).Interior.Color = rgbRed 'End If Else Sheets("Boletim Produção").Cells(a, 42).Interior.Color = rgbGreen ContA = ContA + Sheets("Boletim Produção").Cells(a + 1, 42) End If End If End If Next End Sub O objetivo do programa é que após compila-lo, as linhas da coluna 42 da planilha Boletim de produção estejam Verdes ou vermelhas nos campos aonde há valores, dependendo da soma dos valores da coluna comparando com a soma dos valores da coluna 4 da planilha boletim parada, aonde também se a soma conferir ou não deve-se ser colorido de vermelho\verde AcertoBoletim.xlsm
  4. Bom dia Galera! Olhem o código abaixo, a variavel B como não está no for ela não muda de valor quando o programa passa pelo next, apenas a variavel A, o que eu preciso fazer com a variavel B e preciso da ajuda de vocês é o seguinte: Quero somar a variavel B na linha (b, 24) com ela mesma na linha seguinte. Por exemplo, a variavel b atualmente está com valor 7. eu quero somar ela (b(=7), 24) + b(=8), 24) eu não sei colocar isso no macro. Após fazer isso eu preciso que o programa confira se o valor obtido nessa soma das duas linhas é MAIOR que um único valor da linha em que a variavel A estiver. Caso seja, deve-se realizar os procedimentos do programa. Caso não seja, B deve pular para outra linha. Segue planilha em anexo para compreensão sub analisar() a = 6 b = 7 Menor = 0 Maior = 0 For a = 6 To 5000 If Sheets("Boletim Produção").Cells(a, 24) > Sheets("Boletim Parada").Cells(b, 3) Then Menor = Sheets("Boletim Produção").Cells(a, 42) - 0.0007 Maior = Sheets("Boletim Produção").Cells(a, 42) + 0.0007 If Menor > Sheets("Boletim Parada").Cells(b, 4) Or Maior > Sheets("Boletim Parada").Cells(b, 4) Then Sheets("Boletim Produção").Cells(a, 42).Interior.Color = rgbGreen Sheets("Boletim Parada").Cells(b, 4).Interior.Color = rgbGreen Else If Sheets("Boletim Produção").Cells(a, 24) < Sheets("Boletim Parada").Cells(b, 3) And Sheets("Boletim Produção").Cells(a, 42) < 1 Then Sheets("Boletim Produção").Cells(a, 42).Interior.Color = rgbGreen Else Sheets("Boletim Produção").Cells(a, 42).Interior.Color = rgbRed Sheets("Boletim Parada").Cells(b, 4).Interior.Color = rgbRed End If End If End If Next End Sub AcertoBoletim.xlsm

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...