Есть две отдельные команды VBA - одна для вызова окна «Сохранить как», другая для фактического сохранения.Если это рабочая книга, которую вы сохраняете, то
Application.GetSaveAsFilename - открывает диалоговое окно «Сохранить как» и возвращает имя файла. Workbook.SaveAs - метод для фактического сохранения.
Поэтому вам нужен код, который разделяет два оператора и определяет, свернуто ли ваше «главное» окно или нет, даже прежде чем отображать диалоговое окно «Сохранить как».