Ir ao conteúdo

Posts recomendados

Postado

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

Postado

@Luis Gustavo Sangy Miranda isso é simples de se resolver.

Acho o mais difícil é entender o que voce quer que a macro faça. Talvez pelo motivo que voce ja esteja envolvido com este assunto (seu trabalho), para as pessoas de 'fora' nao tem ideia do funcionamento da planilha. 

Postado

@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

Visitante
Este tópico está impedido de receber novas respostas.

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...