Создайте новый лист, а затем вернитесь к последнему активному листу. 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

Кроме того, поместите следующий код в модуль ThisModule:

Private Sub Workbook_Open() subHideAll 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 источник поделиться

qaru.site