Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba excel добавить лист в конец

VBA копирование листа в конец рабочей книги (со скрытыми листами)

Я хочу скопировать лист и добавить его в конец всех текущих листов (независимо от того, скрыты ли листы).

Это работает нормально, за исключением того, что при наличии скрытых листов новый лист вставляется только после последнего видимого листа, поэтому команда name переименовывает неправильный лист.

Я пробовал варианты следующего, чтобы получить ссылку на недавно скопированный WorkSheet , но ни один из них не был успешным и / или допустимым кодом.

7 Ответов

Сделайте исходный лист видимым перед копированием. Затем скопируйте лист так, чтобы копия также оставалась видимой. После этого копия станет активным листом. Если вы хотите, снова скройте исходный лист.

Если вы используете следующий код, основанный на коде @Siddharth Rout, вы переименовываете только что скопированный лист, независимо от того, активирован он или нет.

Я столкнулся с подобной проблемой при копировании листа в другую книгу. Я предпочитаю избегать использования ‘activesheet’, хотя это и вызвало у меня проблемы в прошлом. Поэтому я написал функцию, чтобы выполнить это в соответствии с моими потребностями. Я добавляю его здесь для тех, кто приходит через google, как и я:

Основная проблема здесь заключается в том, что копирование видимого листа в последнюю позицию индекса приводит к Excel перемещению листа в конец видимых листов. Таким образом, копирование листа в позицию после последнего видимого листа сортирует эту проблему. Даже если вы копируете скрытые листы.

Для использования этой функции для исходного вопроса (т. е. в той же рабочей книге) можно было бы сделать что-то вроде.

Добавьте этот код в начало:

Читать еще:  Скачать видео онлайн сервис

Добавьте этот код до конца:

Отрегулируйте код в конце, если вы хотите, чтобы активными и видимыми были не только первые листы. Например, следующие:

Чтобы убедиться, что новый лист является переименованным, измените свой код следующим образом:

Этот код находится в моей пользовательской форме, которая позволяет мне скопировать определенный лист (выбранный из выпадающего списка) с форматированием и формулами, которые я хочу создать, на новый лист, а затем переименовать новый лист с помощью пользовательского ввода. Обратите внимание, что каждый раз, когда лист копируется, ему автоматически присваивается старое имя листа с обозначением » (2)». Пример «OldSheet» становится «OldSheet (2)» после копирования и перед переименованием. Поэтому перед переименованием необходимо выбрать скопированный лист с именами программ.

Когда вы хотите скопировать лист с именем «mySheet» и использовать .Copy после:=, Excel сначала называет скопированный лист точно так же и просто добавляет ‘ (2)’, чтобы его конечное имя было «mySheet (2)».

Спрятан он или нет, не имеет значения. Он качается с 2 строками кода, добавляя скопированный лист в конце рабочей книги.

Пример:

Ответ: я нашел это и хочу поделиться этим с вами.

Но вопрос в том, можем ли мы использовать его со следующим кодом для переименования листов, если да, то как мы можем это сделать?

Похожие вопросы:

Мы используем OpenOfficeXML и до сих пор работает хорошо. Теперь у нас есть сценарий, в котором нам нужно скопировать несколько листов из разных книг и поместить их в одну книгу (как несколько.

У меня есть 3 книги, а именно: A, B и C. Я кодирую макрос VBA внутри A, чтобы скопировать содержимое диапазона ячеек определенного листа от B до C. Dim wb_TC_PBS As Excel.Workbook Dim wb_SPO_PBS As.

Читать еще:  Размер листа excel

Я делаю некоторые функции copy-paste в VBA. Я должен скопировать всю строку, если значение в cell A1 совпадает со значением в другой книге. Допустим (имя листа: Sheet1): На этом листе все значения в.

Я отвечаю за очень большую таблицу Excel 2010 со ссылками на все виды внешних источников данных, включая Bloomberg, 65 листов с модулями vba и ссылками на другие надстройки vba. Я заметил, что.

Я нахожусь в процессе рефакторинга огромной рабочей книги с большим количеством устаревших частей, избыточных вычислений, перекрестных зависимостей и т. д. В основном, я пытаюсь удалить ненужные.

У меня есть рабочая книга с несколькими листами, один из которых является панелью мониторинга, а другой содержит отчет, содержащий диаграммы, основанные на данных, содержащихся на других листах. У.

у меня есть рабочая тетрадь 1 со 100 листами. у меня есть рабочая тетрадь 2 С 200 листами. мне нужно выполнить 2 задания: Для этих существующих листов (одно и то же имя листа в обеих книгах) я хочу.

У меня есть один лист с кодом VBA со многими переменными и константами, и я хотел бы использовать эти переменные даже в коде VBA другого листа. К сожалению, код разделен между листами и требует.

Я хочу скопировать рабочий лист и поместить его DIRECTLY после другого листа. Но у меня возникают проблемы, когда речь идет о скрытых листах. Используя Excel 2013, я открываю новую книгу. Добавьте.

Ссылка на основную публикацию
Adblock
detector