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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2010, 16:15   #31
Adeletto
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 12
По умолчанию

Здравствуйте!
Подскажите пожалуйста, а как написать код
Предположим есть 10 листов, но мне нужно скопировать лишь 6,
причем 3 из них польностью с форматами и формулами, а остальные 3 форматами и значениями?
Заранее спасибо!
Adeletto вне форума Ответить с цитированием
Старый 15.04.2010, 16:38   #32
Adeletto
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 12
По умолчанию

Здравствуйте!
Подскажите пожалуйста, а как написать код
Предположим есть 10 листов, но мне нужно скопировать лишь 6,
причем 3 из них польностью с форматами и формулами, а остальные 3 форматами и значениями?
Заранее спасибо!
Adeletto вне форума Ответить с цитированием
Старый 16.04.2010, 08:04   #33
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
...нужно скопировать...
Куда скопировать? Следующий код скопирует 6 листов из книги, содержащей этот код в открытую книгу "Книга1.xls", затем в 3-х из них уберет все формулы. Подставьте требуемые имена листов и книг.
Код:
Sub CopySheets()
    Application.ScreenUpdating = False
    ThisWorkbook.Sheets(Array("Лист1", "Лист2", "Лист3", "Лист4", "Лист5", "Лист6")).Copy Before:=Workbooks("Книга1.xls").Sheets(1)
    For Each sh In Array("Лист4", "Лист5", "Лист6"): Sheets(sh).UsedRange.Value = Sheets(sh).UsedRange.Value: Next
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 16.04.2010, 09:50   #34
Adeletto
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 12
По умолчанию

Спасибо!
К сожалению нет образования програмиста, поэтому возникают проблемы с синтаксисом.
В общем, я хочу добавить в код предложенный Вами раньше:

Private Sub CommandButton1_Click()
Dim myPath As String, fName As String: Application.ScreenUpdating = False
myPath = "D:\Temp\" 'Ваш путь
fName = [A1] 'Ячейка, содержащая имя файла
fName = myPath & fName & "_" & Format(Now, "dd_mm_yy hh_mm_ss") & ".xls"
ActiveSheet.Copy: ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
ActiveSheet.Shapes(1).Delete
ActiveWorkbook.SaveAs Filename:=fName: ActiveWorkbook.Close False
End Sub


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

Если не сложно, не могли бы Вы помочь добавить эту возможность.
Adeletto вне форума Ответить с цитированием
Старый 16.04.2010, 11:46   #35
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно так:
Код:
Sub Main()
    Dim myPath As String, fName As String: Application.ScreenUpdating = False
    myPath = "D:\Temp\" 'Ваш путь
    fName = Sheets("Лист1").[A1] 'Ячейка, содержащая имя файла
    fName = myPath & fName & "_" & Format(Now, "dd_mm_yy hh_mm_ss") & ".xls"
    ThisWorkbook.Sheets(Array("Лист1", "Лист2", "Лист3", "Лист4", "Лист5", "Лист6")).Copy
    For Each sh In Array("Лист4", "Лист5", "Лист6"): Sheets(sh).UsedRange.Value = Sheets(sh).UsedRange.Value: Next
    ActiveWorkbook.SaveAs Filename:=fName: ActiveWorkbook.Close False
End Sub
Естественно, путь к папке для сохранения, ячейку, содержащую имя файла, имена листов для копирования и имена листов, в которых нужно убрать формулы, подставьте требуемые.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 16.04.2010, 12:02   #36
Adeletto
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 12
По умолчанию

Шикарно! То что нужно было
Пока что вопросов больше нет!
Спасибо Вам большое!
Adeletto вне форума Ответить с цитированием
Старый 16.04.2010, 12:22   #37
Дмитрий Фукс
Пользователь
 
Регистрация: 17.03.2009
Сообщений: 41
По умолчанию

Здравствуйте, подскажите макрос.
Нужно сохранить выделенный диапазон A1:F13(диапазон выделения каждый раз другой) в листе Эксель на диск С: . Имя файла это ячейка F3+ имя листа.

Последний раз редактировалось Дмитрий Фукс; 16.04.2010 в 13:34.
Дмитрий Фукс вне форума Ответить с цитированием
Старый 16.04.2010, 14:04   #38
Adeletto
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 12
По умолчанию

По ходу дела возникла еще одна потребность
Нельзя ли в новой созданной книге
с листов "Лист1" и "Лист2" удалить строки в которых в столбце "А" значение равно "1" или "2" ?
Adeletto вне форума Ответить с цитированием
Старый 16.04.2010, 14:11   #39
alvazor
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 122
По умолчанию

Цитата:
Сообщение от romale_80 Посмотреть сообщение
ясно, ну пока это будет так как есть сеичас. все замечательно работает тлько макрос остаётся, и на друго компе, при открытии сохраненного, ругается. можно ли доработать чтоб удалил макрос
спасибо
Попробуйте этот вариант
Пришлось макросом повторить принудительное сохранение копии, после чего безобразие кончилось. Но и прога сильно изменилась - см. комментарии в тексте
Вложения
Тип файла: rar файл 322.rar (1.34 Мб, 13 просмотров)
alvazor вне форума Ответить с цитированием
Старый 16.04.2010, 14:51   #40
alvazor
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 122
По умолчанию

еще более простой вариант - вырезание рабочего диапазона и вставка его в файл копии. Тут и кнопку удалять не надо, и макросы чистить.
Но, возможно, придется специально помечать начало и конец этого диапазона, особливо, если есть графические объекты
Вложения
Тип файла: rar файл 3222.rar (1.34 Мб, 17 просмотров)
alvazor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Програмное сохранение книги на флешку. nemoomen Microsoft Office Excel 4 05.07.2009 22:34
Сохранение копии книги при ее закрытии. Busine2009 Microsoft Office Excel 17 17.06.2009 04:36
Сохранение книги большого размера. nemoomen Microsoft Office Excel 12 22.03.2009 05:57
Сохранение загруженного в TImage изображения в папку с программой Torymo Помощь студентам 1 06.02.2009 03:41
Сохранение книги с интерфейсом. Возможно? smand Microsoft Office Excel 7 06.12.2007 06:05