Создайте новый лист, а затем вернитесь к последнему активному листу. Vba сделать лист активным
vba - Создайте повторно используемый макрос, чтобы закрыть активный лист в excel?
Я полагаю из вашего вопроса, что вы хотите создать своего рода навигацию, которая скрывает все, кроме активного листа.
Если это то, что вы ищете, вам потребуется что-то вроде следующего кода:
В модуле:
Global Const cStrHomeSheet As String = "Home" Public Sub subGotoSheet(strSheetName As String) On Error GoTo ErrorHandler Dim wsActive As Worksheet Application.ScreenUpdating = False Set wsActive = ActiveSheet Sheets(strSheetName).Visible = xlSheetVisible Sheets(strSheetName).Activate wsActive.Visible = xlSheetVeryHidden Application.ScreenUpdating = True Exit Sub ErrorHandler: MsgBox "Cannot find worksheet " & strSheetName End Sub Public Sub subGotoHomeSheet() subGotoSheet cStrHomeSheet End Sub Public Sub subGotoSheetFromCaller() subGotoSheet Application.Caller End Sub Public Sub subHideAll() Dim ws As Worksheet Application.ScreenUpdating = False ActiveWindow.DisplayWorkbookTabs = False Sheets(cStrHomeSheet).Visible = xlSheetVisible Sheets(cStrHomeSheet).Activate For Each ws In Sheets If ws.Name cStrHomeSheet Then _ ws.Visible = xlSheetVeryHidden Next Application.ScreenUpdating = True End Sub Public Sub subShowAll() Dim ws As Worksheet Application.ScreenUpdating = False ActiveWindow.DisplayWorkbookTabs = True For Each ws In Sheets ws.Visible = xlSheetVisible Next Application.ScreenUpdating = True End SubОбъяснение и использование:
Код в модуле ThisWorkbook скроет все, кроме домашнего листа, до загрузки книги. (Чтобы скрыть тот факт, что вы меняете рабочие листы, он также скрывает панель вкладок рабочего листа в левом нижнем углу окна).
Вызвав subGotoSheet "DestinationSheet" вы можете "активировать", то есть отобразить целевой лист - старый лист будет скрыт. Чтобы сделать вашу жизнь немного проще, вы также можете вызвать subGotoHomeSheet - и даже более важно использовать subGotoSheetFromCaller. Это очень удобно, если вы сочетаете его с кнопками (или любыми формами): если вы вставляете в рабочий лист кнопку или фигуру, назначьте ей этот макрос. Теперь вам нужно только указать элемент (используя поле имени слева от поля формулы) в соответствии с вашим целевым листом - и кнопка автоматически выберет желаемый лист!
И последнее, но не менее важное: я предполагаю, что вам также понадобится "режим разработчика", в котором вы увидите и отредактируете все листы. Для этого запустите subShowAll, чтобы вернуться, запустите subHideAll. Я бы рекомендовал вам назначить сочетания клавиш для обоих макросов, чтобы вы могли быстро переключаться между режимом разработчика и пользователя.
qaru.site
Vba Excel Сделать Лист Активным
Microsoft Excel (Software)
Лиcт в файле Excel
поисковых терминов
vba excel сделать лист активным
vba переход на другой лист
активация листа
vba excel активировать лист
vba выбор листа по имени
excel макрос переход на лист
vba перейти на предыдущий лист
Шахматная комбинация
с поисковой системой
Программу склада с картинками в Excel самим создать.
календарь с указанием праздников
Программа для управления складскими запасами
собственный капитал
из маски ввода
Бухгалтерский учет
Программирование на VBA
VBA-программирование
Сделать Активный лист Excel
Дмитрий Езепов
обучение работы в excel
копия листа Excel
цвет ярлыка листа Excel
название листа Excel в ячейке
переключение между листами
переименовать лист Excel
excel для продвинутых
как работать в эксель
видеоуроки эксель
видеоуроки Excel
последовательность
написать макрос
изменить кнопку
excel кнопка для макроса
кнопка запуска макроса excel
назначить кнопке макрос
как сделать кнопку макроса
макрос нажатия кнопки
Уроки для новичков. Обучение программе Excel. Видео гайд. Эксель
Присвоение кнопке макроса
Изменение макроса
Программирование на VBA в Excel
Excel VBA-программирование
программирование
microsoft access уроки
самоучитель access
видеоуроки Access
поля со списками
зависимые списки Access
Microsoft Access (Software)
поле со списком access
как создать базу данных
как создать базу данных в access
Microsoft Access уроки
программирование в access
Создание базы данных в access
как добавить в excel ссылку на файл
как вставить ссылку на файл в excel
ссылка на файл в эксель
ссылка на файл в excel
как сделать ссылку на файл в excel
техника эффективных продаж
работа менеджером по продажам
тренинги по продажам
холодные звонки
бизнес тренинги по продажам
телефонный центр
тренинг активных продаж
телефонные продажи
тренинг телефонных продаж
продажи по телефону
тренинг эффективных продаж
обучение продажам
увеличение продаж
менеджеры по продажам
психология продаж
скрипт продаж
продаж бизнеса
способы увеличения продаж
звонки по телефону
методы продаж
таблица в компас
компас просто
instant qlikview 11 application development
переменные qlikview
программа qlikview демо на русском
qlikview сравнение
qlikview 1с коннектор
макросы qlik sense
qlikview макрос выгрузки в excel
vb макросы qlik sense
как написать макрос в qlikview
qlikview загрузка данных
работабизнес-онлайнподработкадополнительный
создание дипломов
автозаполнение бланка документа
атаматизация делопроизводства
fitweb.me
vba - Создайте новый лист, а затем вернитесь к последнему активному листу
Быстрый вопрос!
У меня есть макрос, который использует Application.AciveSheet для ссылки на текущий рабочий лист, так как я хочу, чтобы он запускался в любом из наших многочисленных листов. Он копирует данные из Application.ActiveSheet на другой лист "Ярлыки". Я хотел бы создать метки листа в макросе, а затем вернуться к Application.AciveSheet, чтобы остальная часть макроса могла работать. Я не могу, потому что "Ярлыки" становятся новым активным листом.
Здесь мой текущий script для справки
Sub LabelCreation() 'uses the active sheet and Z range to 120 lr = Application.ActiveSheet.Range("Z120").End(xlUp).Row k = 0 For i = 4 To lr k = k + 1 Application.ActiveSheet.Range("Z" & i).Copy Sheets("Labels").Range("A" & k).PasteSpecial Paste:=xlPasteFormats Sheets("Labels").Range("A" & k).PasteSpecial Paste:=xlPasteValues Sheets("Labels").Range("B" & k).PasteSpecial Paste:=xlPasteFormats Sheets("Labels").Range("B" & k).PasteSpecial Paste:=xlPasteValues Sheets("Labels").Range("C" & k).PasteSpecial Paste:=xlPasteFormats Sheets("Labels").Range("C" & k).PasteSpecial Paste:=xlPasteValues Sheets("Labels").Range("D" & k).PasteSpecial Paste:=xlPasteFormats Sheets("Labels").Range("D" & k).PasteSpecial Paste:=xlPasteValues k = k + 1 Application.ActiveSheet.Range("AA" & i).Copy Sheets("Labels").Range("A" & k).PasteSpecial Paste:=xlPasteFormats Sheets("Labels").Range("A" & k).PasteSpecial Paste:=xlPasteValues Sheets("Labels").Range("B" & k).PasteSpecial Paste:=xlPasteFormats Sheets("Labels").Range("B" & k).PasteSpecial Paste:=xlPasteValues Sheets("Labels").Range("C" & k).PasteSpecial Paste:=xlPasteFormats Sheets("Labels").Range("C" & k).PasteSpecial Paste:=xlPasteValues Sheets("Labels").Range("D" & k).PasteSpecial Paste:=xlPasteFormats Sheets("Labels").Range("D" & k).PasteSpecial Paste:=xlPasteValues Next End Sub источник поделиться