Cells
без спецификатора объекта рабочего листа, неявно ссылается на то, чем является ActiveSheet
(если вы находитесь в стандартном модуле кода).Если вы находитесь в модуле code-behind рабочего листа, то неквалифицированные вызовы Cells
в основном выполняют Me.Cells
, то есть они ссылаются на этот рабочий лист.
Решение заключается в квалификациивсе с объектом листа, с которым вы работаете:
Set YE_last = Forecast.Range(Forecast.Cells(YE_forecast.Row + 1, YE_forecast.Column + i - 1), Forecast.Cells(YE_forecast.Row + 1, YE_forecast.Column + i - 1))
A With
блок может упростить это:
With Forecast
Set YE_last = .Range(.Cells(YE_forecast.Row + 1, YE_forecast.Column + i - 1), .Cells(YE_forecast.Row + 1, YE_forecast.Column + i - 1))
End With