- 03 Mar 2020 às 09:59
#52616
Bom dia pessoal,
Trabalho com dois monitores, e no segundo ficará passando indicadores com troca de aba com a VBA abaixo, antes quando abria outra planilha trocava a aba da ativa, porém alterei e agora só altera da que eu quero, porém o cursor da planilha aberta no monitor principal sai do foco, ou se estou em edição nela a "apresentação" na outra planilha para. Preciso que a macro de troca de abas fique rodando somente em uma planilha, e eu possa trabalhar tranquilamente em outras.
segue o código.
Public altern As Date, i As Long
Sub AlternaPlans()
With ThisWorkbook.Sheets("Emb.Modalidade")
If i = 0 Then
i = 1
End If
altern = Now + TimeValue("00:00:10")
Application.OnTime altern, "AlternaPlans"
ThisWorkbook.Sheets(i).Activate
If i < Sheets.Count Then
i = i + 1
Else: i = 1
End If
End With
End Sub
Sub DeslAlterna()
On Error Resume Next
Application.OnTime earliesttime:=altern, procedure:="AlternaPlans", schedule:=False
MsgBox "Apresentação Desligada", vbInformation, "Status"
End Sub
Trabalho com dois monitores, e no segundo ficará passando indicadores com troca de aba com a VBA abaixo, antes quando abria outra planilha trocava a aba da ativa, porém alterei e agora só altera da que eu quero, porém o cursor da planilha aberta no monitor principal sai do foco, ou se estou em edição nela a "apresentação" na outra planilha para. Preciso que a macro de troca de abas fique rodando somente em uma planilha, e eu possa trabalhar tranquilamente em outras.
segue o código.
Public altern As Date, i As Long
Sub AlternaPlans()
With ThisWorkbook.Sheets("Emb.Modalidade")
If i = 0 Then
i = 1
End If
altern = Now + TimeValue("00:00:10")
Application.OnTime altern, "AlternaPlans"
ThisWorkbook.Sheets(i).Activate
If i < Sheets.Count Then
i = i + 1
Else: i = 1
End If
End With
End Sub
Sub DeslAlterna()
On Error Resume Next
Application.OnTime earliesttime:=altern, procedure:="AlternaPlans", schedule:=False
MsgBox "Apresentação Desligada", vbInformation, "Status"
End Sub