У меня есть рабочая книга объемом до 103 листов.
- 101 лист будет иметь различный объем продукта для анализа временных рядов.
- Существует вкладка данных RAW, из которой каждыйлист будет извлекать данные начального объема.
- Существует сводный лист, составленный для получения прогноза на 12 месяцев для всех 101 наименований.
Я хочу выполнить цикл из листа 3103 и автоматизировать анализ данных, регрессионную часть анализа временных рядов, чтобы обновить данные временных рядов на сводном листе.
Я создал код ниже, чтобы показать, что я пробовал.Проблема, которую я получаю:
- Я должен нажать «Да», чтобы перезаписать предыдущие данные регрессии, которые находятся в диапазоне $ S $ 33 на каждом листе.Я думал, что Application.DisplayAlerts = False исправит это.
- Каждый месяц диапазоны будут меняться.Он всегда будет начинаться с $ L $ 2 и $ C $ 2, однако должен быть уменьшен до предыдущего месяца.(Пожалуйста, см. Выделенное ниже). Сейчас мы находимся в 19 июня, поэтому он должен варьироваться от $ L $ 2 до $ L $ 43 и от $ C $ 2 до $ C $ 43, поскольку строка 43 - это линия 19 мая.
Sub TSA ()
'
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'
Sheets("SPCS000052").Activate
Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range("$L$2:$L$42"), _
ActiveSheet.Range("$C$2:$C$42"), False, True, , ActiveSheet.Range("$S$33") _
, False, False, False, False, , False
Sheets("SPCS000053").Activate
Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range("$L$2:$L$42"), _
ActiveSheet.Range("$C$2:$C$42"), False, True, , ActiveSheet.Range("$S$33") _
, False, False, False, False, , False
Sheets("SPCS000130").Activate
Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range("$L$2:$L$42"), _
ActiveSheet.Range("$C$2:$C$42"), False, True, , ActiveSheet.Range("$S$33") _
, False, False, False, False, , False
Sheets("SPCS000078").Activate
Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range("$L$2:$L$42"), _
ActiveSheet.Range("$C$2:$C$42"), False, True, , ActiveSheet.Range("$S$33") _
, False, False, False, False, , False
Sheets("SPCS000063").Activate
Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range("$L$2:$L$42"), _
ActiveSheet.Range("$C$2:$C$42"), False, True, , ActiveSheet.Range("$S$33") _
, False, False, False, False, , False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub