Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скопировать лист с другим именем - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скопировать лист с другим именем (Макросы/Sub)
Скопировать лист с другим именем
pabchek Дата: Вторник, 05.07.2016, 12:25 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 145 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, все!
Нужно было скопировать лист с другим именем. Наваял код
[vba]
Код
Sub обновить_()
    Application.ScreenUpdating = False
    'ActiveWorkbook.RefreshAll
    имя_ = Range("B2")
    Sheets("ПФ").Copy After:=Sheets(Sheets.Count)
    Sheets("ПФ (2)").Name = [страницы_].Cells(Application.Match(имя_, [клиент_], 0), 1)
End Sub
[/vba]
А можно это оптимизировать (сделать в одну строку)? Никак не могу объединить Copy и Name


"Учиться, учиться и еще раз учиться!"
WM: R399923528092


Сообщение отредактировал pabchek - Вторник, 05.07.2016, 13:51
 
Ответить
СообщениеЗдравствуйте, все!
Нужно было скопировать лист с другим именем. Наваял код
[vba]
Код
Sub обновить_()
    Application.ScreenUpdating = False
    'ActiveWorkbook.RefreshAll
    имя_ = Range("B2")
    Sheets("ПФ").Copy After:=Sheets(Sheets.Count)
    Sheets("ПФ (2)").Name = [страницы_].Cells(Application.Match(имя_, [клиент_], 0), 1)
End Sub
[/vba]
А можно это оптимизировать (сделать в одну строку)? Никак не могу объединить Copy и Name

Автор - pabchek
Дата добавления - 05.07.2016 в 12:25
krosav4ig Дата: Вторник, 05.07.2016, 13:52 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1340
Репутация: 533 ±
Замечаний: 0% ±

Excel 2007, 2013
можно было бы, если бы Worksheet.Copy была бы функцией и возвращала скопированный лист, а так все попытки приводят только к увеличению количества строк[vba]
Код
    имя_ = Range("B2")
    With Sheets.Add
        Sheets("ПФ").Cells.Copy .Cells
        .Name = [страницы_].Cells(Application.Match(имя_, [клиент_], 0), 1)
    End With
[/vba]


(_)Õvõ(_)
 
Ответить
Сообщениеможно было бы, если бы Worksheet.Copy была бы функцией и возвращала скопированный лист, а так все попытки приводят только к увеличению количества строк[vba]
Код
    имя_ = Range("B2")
    With Sheets.Add
        Sheets("ПФ").Cells.Copy .Cells
        .Name = [страницы_].Cells(Application.Match(имя_, [клиент_], 0), 1)
    End With
[/vba]

Автор - krosav4ig
Дата добавления - 05.07.2016 в 13:52
K-SerJC Дата: Вторник, 05.07.2016, 14:51 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 76
Репутация: 11 ±
Замечаний: 60% ±

Excel 2013

А можно это оптимизировать (сделать в одну строку)? Никак не могу объединить Copy и Name


а если сделать отдельно функцию, туда эти две строчки прописать, тогда вызываться будет одной строкой


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщение

А можно это оптимизировать (сделать в одну строку)? Никак не могу объединить Copy и Name


а если сделать отдельно функцию, туда эти две строчки прописать, тогда вызываться будет одной строкой

Автор - K-SerJC
Дата добавления - 05.07.2016 в 14:51
pabchek Дата: Вторник, 05.07.2016, 15:16 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 145 ±
Замечаний: 0% ±

Excel 2007
можно было бы, если бы


а если сделать отдельно


Понятно. Левой рукой через правое ухо оно все можно. Понял, что под это функция не заточена. Ну и незачем больше париться(((
Так или иначе, спасибо за разъяснение и потраченное время


"Учиться, учиться и еще раз учиться!"
WM: R399923528092


Сообщение отредактировал pabchek - Вторник, 05.07.2016, 15:17
 
Ответить
Сообщение
можно было бы, если бы


а если сделать отдельно


Понятно. Левой рукой через правое ухо оно все можно. Понял, что под это функция не заточена. Ну и незачем больше париться(((
Так или иначе, спасибо за разъяснение и потраченное время

Автор - pabchek
Дата добавления - 05.07.2016 в 15:16
RAN Дата: Вторник, 05.07.2016, 15:40 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
Недавно Елена демонстрировала интересную запись.
Но, я забыл, как она выглядит, а найти даже и пытаться не буду. Все равно не найду.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНедавно Елена демонстрировала интересную запись.
Но, я забыл, как она выглядит, а найти даже и пытаться не буду. Все равно не найду.

Автор - RAN
Дата добавления - 05.07.2016 в 15:40
pabchek Дата: Вторник, 05.07.2016, 16:08 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 145 ±
Замечаний: 0% ±

Excel 2007
найти даже и пытаться не буду

Елена демонстрировала
Андрей, это имел ввиду?
Если да, то тут также вставка пустого листа, а не копирование имеющегося с содержимым.


"Учиться, учиться и еще раз учиться!"
WM: R399923528092
 
Ответить
Сообщение
найти даже и пытаться не буду

Елена демонстрировала
Андрей, это имел ввиду?
Если да, то тут также вставка пустого листа, а не копирование имеющегося с содержимым.

Автор - pabchek
Дата добавления - 05.07.2016 в 16:08
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скопировать лист с другим именем (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!