#excel #vba
#excel #vba
Вопрос:
Файл Excel, над которым я работаю, содержит около 20-30 листов. И затем у него есть титульная страница, где я добавил несколько кнопок для перехода к разным листам скрытых диаграмм. на той же странице я создаю список всех названий листов диаграммы, которые нужно выбрать для печати. Проблема в том, что список теперь продолжает отображаться на всех скрытых диаграммах всякий раз, когда я нажимаю на кнопки, чтобы перейти к определенной диаграмме. Не уверен, что происходит и как остановить отображение списка на скрытых диаграммах. Я довольно новичок в Excel VBA, я был бы признателен за некоторые рекомендации здесь.
Sub MSChartBP01()
'
' MSChartBP01 Macro
'
'
Sheets("MS_StrategyBP01").Visible = True
Sheets("MS_StrategyBP01").Select
End Sub
P.S. Это происходит только со скрытой диаграммой. Нескрытые диаграммы в порядке. Код, который я использовал, чтобы снова скрыть диаграмму, является:
Sub GoBacktoMS()
'
' GoBacktoMS Macro
'
'
ActiveWindow.SelectedSheets.Visible = False
Sheets("Reporting").Select
End Sub
Комментарии:
1. Можете ли вы предоставить соответствующий код для вашего макроса listbox?
2. Список находится в пользовательской форме? Когда вы устанавливаете значение visible для листа обратно в False? Я чувствую, что нам нужно увидеть больше кода о том, как вы переключаете видимые и невидимые листы. Всегда ли список отображается как панель навигации («немодальная»)? Нужна дополнительная информация и особенности . . . .
3. @BruceWayne У меня нет никакого кода для списка bos, он просто заполняется с помощью раздела свойства listfillrange, вот и все. У меня есть код для перемещения выбранных элементов из одного списка в другой на том же листе для кнопки
4. @Wookies-Will-Code Нет, список находится на другом листе в той же книге, что и эти диаграммы. У меня настроена кнопка возврата на диаграмму, которая просто выводит меня на титульную страницу и снова скрывает диаграмму.
5. @Ema189 возможно, нам нужно увидеть код, относящийся к списку, если он перемещается с одного листа на скрытый лист с диаграммой на нем. Мне не нравится использовать activesheet, но, возможно, было бы лучше, чтобы в данном случае были выбраны таблицы, я предполагаю, что у вас открыто несколько рабочих книг? Вы могли бы использовать эту рабочую тетрадь. Activesheet (подразумевает рабочую книгу, в которой находится код и из которой выполняется, и один лист, который в данный момент активен, предположительно, скрытый лист диаграммы) — Я перенес добавленный вами код в ваш вопрос (вы можете изменить его и предоставить более подробную информацию, поскольку это не ответ, я бы предложил удалить Ans)