Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.02.2008, 12:51   #1
Leanna
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 24
По умолчанию Копировать лист и задать имя

Помогите решить задачку.

Есть лист "Лист1", надо его скопировать в эту же книгу и дать ему имя "Копия" (листов с именем "копия" не существует)

Макрос записываемый через макрорекордер дает произвольное имя, а мне надо что бы имя определяла я.

Код:
    Sheets("Лист1").Select
    Sheets("Лист1").Copy Before:=Sheets(1)
Leanna вне форума
Старый 19.02.2008, 12:59   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Sheets("Лист1").Select
Sheets("Лист1").Copy Before:=Sheets(1)
Sheets(Sheets.count).name = "Копия"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 19.02.2008, 13:07   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Метод Select лучше не использовать (тормозит). А приведенный выше код скопирует "Лист1" и поместит в начало, а переименует последний лист в книге. Правильно так:
Код:
Sheets("Лист1").Copy Before:=Sheets(1)
    Sheets(1).Name = "MySheet"
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 19.02.2008, 13:41   #4
Leanna
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 24
По умолчанию

И ещё вопрос.
Почему этот код не работает, пишет Sub or Function not defined

Код:
Sub test()
Worksheet("Лист1").Cells(5, 5) = 1
End Sub
Причем просто Cells(5, 5) = 1 работает нормально. А мне надо указать на каком листе этот Cells. Как быть?
Leanna вне форума
Старый 19.02.2008, 13:53   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Потому, что не "Worksheet", а "Worksheets"
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 19.02.2008, 16:40   #6
Leanna
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 24
По умолчанию

Спасибо, использовала второй пример, раз он эффективнее,
всё работает.

За Worksheets тоже спасибо.
Leanna вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копировать данные из разных ячеек по нескольким листам в один лист Dorvir Microsoft Office Excel 2 11.06.2008 10:10
Копировать данные из Excell в Word Dimon_isu Microsoft Office Excel 3 15.05.2008 12:12
Как копировать и одновременно переименовывать файлы? eriser Помощь студентам 4 17.01.2008 17:51