Bom dia,
Estou utilizando um lynk DDE (Dynamic data exchange) de um equipamento com a célula H24, tendo seu valor variando entre 0 e 1.
Minha programação abaixo roda quando o valor da célula H24 é =1,
porém apresenta um
problema, ele entra em um looping infinito até dar erro. Como poderia fazer para rodar a programação apenas 1 vez quando a célula H24 for =1 para não entrar no looping infinito.
Eu acredito que não posso usar outro Private Sub que não seja o calculte pois como estou usando um DDE os valores não são inseridos manualmente e assim não funcionam, tentei usar o change etc mais não funcionou.
Segue programação feita:
Private Sub Worksheet_Calculate()
Static OldVal1 As Variant
OldVal1 = Range("H24").Value
If Range("H24").Value = 1 Then
Application.Goto Reference:="Tab_Ciclo"
ActiveWindow.SmallScroll Down:=3
Selection.Copy
Application.Goto Reference:="A_fim"
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet1").Select
ActiveCell.Offset(0, 5).Range("A1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
ActiveCell.Offset(1, 0).Range("A1").Select
End If
End Sub