Em seu Move_Between_Sheets () você seleciona a planilha, mas não a ativa. A comutação só será feita após ativá-lo.
Eu preciso de um script que alterna entre as planilhas a cada 10 segundos e, em seguida, executa algum código a cada 20 min que traz alguns dados usando a função copiar e colar e, em seguida, loop até que eu pressione "Esc".
Este é o meu código até agora:
Sub Move_Between_Sheets()
Dim i As Long, j As Long, t As Single, k As Long
Application.ScreenUpdating = True
i = 0
j = Sheets.Count
On Error GoTo exit_
Application.EnableCancelKey = xlErrorHandler
Do
For k = 1 To 3
i = i + 1
If i > j Then i = 1
Sheets(i).Select
t = Timer + 1
Application.Wait Now + TimeSerial(0, 0, 10)
If Timer < t Then Exit Do
Next k
Call BringPK03
Loop
exit_:
End Sub
------------------
Sub BringPK03()
Dim sheet As Worksheet
Dim wbPlantillas As Workbook
Dim wbAplicativo As Workbook
Set wbAplicativo = ThisWorkbook
Application.ScreenUpdating = False
'Application.Calculation = xlCalculationManual
'13. URL [Link]
'The database workbook is opened from WorkPoint. The sheets in database workbook are copied and pasted in wbAplicativo
Set wbPlantillas = Workbooks.Open("C:\Users\jmartine\Desktop\Tracking Advance.xlsx", True, True)
wbPlantillas.Sheets("FC Paso a Paso").Range("A1:AU4500").Copy
wbAplicativo.Sheets("Sheet1").Range("A1:AO1573").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wbPlantillas.Close savechanges:=False
Windows("BringData.xlsm").Activate
wbAplicativo.Worksheets("Sheet1").Activate
Application.ScreenUpdating = True
Range("A1").Select
Call Move_Between_Sheets
End Sub
Meu código é executado até a função BringPK03 trazer os dados e colá-los em minha pasta de trabalho, e então o código continua, mas de alguma forma a movimentação entre as planilhas não funciona.
Em seu Move_Between_Sheets () você seleciona a planilha, mas não a ativa. A comutação só será feita após ativá-lo.
Tags microsoft-excel vba