Obrigado pela resposta Jimmy, sou novo no assunto. O que acontece, é que as vezes eles não executam no timing certo. Por exemplo quando ele vai rodar o sexto passo, ele insere o dado com o valor zerado ao invés do valor coletado.
Também tinha pensado se é possivel fazer isso na própria celula ao invés de usando VBA.(A maxima e a minima da celula que muda o seu valor).
Segue abaixo o resto dos procedimentos, passo a passo.
Primeiro passo (assim que eu começo a trabalhar)
Código: Selecionar todosIf Range("AA11").Value < Range("Z11").Value Then Range("AA11").Value = Range("Z11").Value
If Range("AB11").Value > Range("Z11").Value Then Range("AB11").Value = Range("Z11").Value
Application.OnTime Now + TimeValue("00:00:01"), "MaiorMenor"
Segundo passo (toda hora cheia a cada 15 minutos esse procedimento vai ser chamado, 10:15,10:30,10:45,11:00....)
Código: Selecionar todosRange("Z3").Value = Range("Z11").Value
Range("AA11").Value = "3"
Range("AB11").Value = "99"
Código: Selecionar todosApplication.OnTime TimeValue("10:15:00"), "zera"
Application.OnTime TimeValue("10:30:00"), "zera"
Application.OnTime TimeValue("10:45:00"), "zera"
Application.OnTime TimeValue("11:00:00"), "zera"
Terceiro Passo (10:14, 10:29, 10:44, 10:58...) salvo isso pois preciso salvar a primeira cotação num período de tempo (abertura).
Código: Selecionar todosApplication.OnTime TimeValue("10:14:00"), "refatt"
Application.OnTime TimeValue("10:29:00"), "refatt"
Application.OnTime TimeValue("10:44:00"), "refatt"
Application.OnTime TimeValue("10:59:00"), "refatt"
Quarto Passo: (10:14:59,10:29:59,10:44:59,10:59:59...) Também tenho um problema com o que está em negrito, que as vezes ele cria mais de uma vez a mesma linha com valores duplicados.
Código: Selecionar todosRange("Z9").Value = Range("Z11").Value
Range("Z5").Value = Range("AA11").Value
Range("Z7").Value = Range("AB11").Value
Quinto Passo (aqui todos os valores desses 14 minutos e 59 segundos estão salvos e o primeiro passo excecuta novamente, zerando todos os valores anteriormente coletados.)
Sexto Passo (salvo as informações coletadas na planilha. 10:15:01, 10:30:01, 10:46:01, 11:00:01...
Código: Selecionar todos Rows("13:13").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
Range("G14:BE14").Select
Selection.AutoFill Destination:=Range("G13:BE14"), Type:=xlFillDefault
Range("G13:BE14").Select
ActiveWindow.LargeScroll ToRight:=-1
Range("Z11").Select
Range("B13") = Range("AB3").Value
Range("C13") = Range("Z5").Value
Range("D13") = Range("Z7").Value
Range("E13") = Range("Z9").Value
Range("V13") = Date
If Range("V13") <> Range("V14") Then
Range("W13") = "10"
Range("X13") = "0"
Else
Range("X14") = "0" Then
Range("X13") = "15"
End If
Range("X14") = "15" Then
Range("X13") = "30"
End If
Range("X14") = "30" Then
Range("X13") = "45"
End If
Range("X14") = "45" Then
Range("W13") = Range("W14") + "1"
Range("X13") = "0"
Else
Range("W13") = Range("W14")
End If
End If
If Range("B13") = Range("B14") And Range("C13") = Range("C14") And Range("D13") = Range("D14") And Range("E13") = Range("E14") Then
Rows(13).Delete
End If
Código: Selecionar todosApplication.OnTime TimeValue("10:15:01"), "novacelula"
Application.OnTime TimeValue("10:30:01"), "novacelula"
Application.OnTime TimeValue("10:45:01"), "novacelula"
Application.OnTime TimeValue("11:00:01"), "novacelula"
e também tenho um problema que ele cria a mesma linha mais de uma vez, por isso adicionei isso
Código: Selecionar todos If Range("B13") = Range("B14") And Range("C13") = Range("C14") And Range("D13") = Range("D14") And Range("E13") = Range("E14") Then
Rows(13).Delete