10秒ごとにシート間を移動し、1つのコードで20分ごとにデータを取得します

10秒ごとにシート間を移動し、1つのコードで20分ごとにデータを取得します

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

Move_Between_Sheets() ではシートを選択しますが、アクティブ化しません。切り替えはアクティブ化した後にのみ実行されます。

関連情報