1

Мне нужен скрипт, который переключается между листами каждые 10 секунд, а затем запускает некоторый код каждые 20 минут, который приносит некоторые данные, используя функцию копирования-вставки, а затем циклически повторяется, пока я не нажму "Esc".

Это мой код до сих пор:

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

Мой код выполняется до тех пор, пока функция BringPK03 не принесет данные и не вставит их в мою рабочую книгу, а затем код продолжит работу, но каким-то образом перемещение между листами не будет работать.

1 ответ1

0

В вашем Move_Between_Sheets() вы выбираете лист, но не активируете его. Переключение будет сделано только после его активации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .