BMOTA Postado Outubro 17, 2016 Denunciar Share Postado Outubro 17, 2016 (editado) Estou tentando execultar a seguinte macro automaticamente mais não estou conseguindo. macro Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = True If Not Intersect(Target, Range("H3")) Is Nothing Then Call CLASSIFICAÇÃOCALCULORS End If Application.EnableEvents = False End Sub Sub CLASSIFICAÇÃOCALCULORS() Range("B2:F55").Select ActiveWorkbook.Worksheets("CALCULO RS").Sort.SortFields.Clear ActiveWorkbook.Worksheets("CALCULO RS").Sort.SortFields.Add Key:=Range( _ "E2:E55"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal ActiveWorkbook.Worksheets("CALCULO RS").Sort.SortFields.Add Key:=Range( _ "F2:F55"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("CALCULO RS").Sort .SetRange Range("B2:F55") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWindow.SmallScroll Down:=-15 End Sub Eu criei uma macro gravada que foi essa CLASSIFICAÇÃOCALCULORS e coloquei o codigo para que ele fosse execultada assim que as celulas h3 ou h2 fosse alteradas, por formulas. Editado Outubro 17, 2016 por BMOTA Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Basole Postado Outubro 17, 2016 Denunciar Share Postado Outubro 17, 2016 (editado) Para que o evento seja acionado por alterações de valores com formulas, use o evento calculate. Veja o exemplo: Em um modulo padrão, declare as variaveis: Public iniVal1 As Variant Public iniVal2 As Variant Em qualquer celula coloque uma formula, por exemplo: em B1: =A1+1 Private Sub Worksheet_Calculate() If Range("H2").Value <> iniVal1 Or _ Range("H3").Value <> iniVal2 Then Application.EnableEvents = True Call CLASSIFICAÇÃOCALCULORS iniVal1 = Range("H2").Value iniVal2 = Range("H3").Value Application.EnableEvents = False End If End Sub Editado Outubro 17, 2016 por Basole * Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 BMOTA Postado Outubro 17, 2016 Autor Denunciar Share Postado Outubro 17, 2016 34 minutos atrás, Basole disse: Para que o evento seja acionado por alterações de valores com formulas, use o evento calculate. Veja o exemplo: Em um modulo padrão, declare as variaveis: Public iniVal1 As Variant Public iniVal2 As Variant Em qualquer celula coloque uma formula, por exemplo: em B1: =A1+1 Private Sub Worksheet_Calculate() If Range("H2").Value <> iniVal1 Or _ Range("H3").Value <> iniVal2 Then Application.EnableEvents = True Call CLASSIFICAÇÃOCALCULORS iniVal1 = Range("H2").Value iniVal2 = Range("H3").Value Application.EnableEvents = False End If End Sub Bom dia, obrigado por responder Porém não deu certo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
BMOTA
Estou tentando execultar a seguinte macro automaticamente mais não estou conseguindo.
macro
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True
If Not Intersect(Target, Range("H3")) Is Nothing Then
Call CLASSIFICAÇÃOCALCULORS
End If
Application.EnableEvents = False
End Sub
Sub CLASSIFICAÇÃOCALCULORS()
Range("B2:F55").Select
ActiveWorkbook.Worksheets("CALCULO RS").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("CALCULO RS").Sort.SortFields.Add Key:=Range( _
"E2:E55"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("CALCULO RS").Sort.SortFields.Add Key:=Range( _
"F2:F55"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("CALCULO RS").Sort
.SetRange Range("B2:F55")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.SmallScroll Down:=-15
End Sub
Eu criei uma macro gravada que foi essa CLASSIFICAÇÃOCALCULORS e coloquei o codigo para que ele fosse execultada assim que as celulas h3 ou h2 fosse alteradas, por formulas.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.