Я загружаю пользовательскую форму, делаю некоторые вещи, затем хочу скрыть эту пользовательскую форму и показать одну из открытых рабочих таблиц. Эта рабочая таблица имеет командную кнопку для запуска макроса, который снова покажет пользовательскую форму. Что происходит, когда я скрываю пользовательскую форму, ActiveSheet становится тот, который был активным, когда пользовательская форма была загружена. Последующие попытки определения активного листа игнорируются без сообщений об ошибках.
UserForm1.Show
' stuff
Workbooks("datafile").Sheets(1).Activate ' ActiveSheet is correctly redefined
UserForm1.Hide ' ActiveSheet changes to the active sheet when UserForm was loaded
Workbooks("datafile").Sheets(1).Activate ' Ignored. no change to ActiveSheet
' Shows whomever loaded the user form: either the VBA debugger or the original worksheet