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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скопировать лист с другим именем (Макросы/Sub)
Скопировать лист с другим именем
pabchek Дата: Вторник, 05.07.2016, 12:25 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 931
Репутация: 218 ±
Замечаний: 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
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

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


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеможно было бы, если бы 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
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013

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


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


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

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


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

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

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


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


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


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


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


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


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

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

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


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

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

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

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


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

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

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

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