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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2010, 19:11   #1
barbus
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 37
По умолчанию Сохранение листа в отдельный файл

Помогите знатоки.
Есть книга Excel-а и лист с данными, данный лист надо каждый раз сохранить в отдельный файл не сохраняя другие листи книги.

Применил такой код
Код:
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Sheets("hajt").Range("AD2") & ".xls"
Книга сохраняется целиком.
Вложения
Тип файла: rar Копия 18600.rar (59.7 Кб, 23 просмотров)
barbus вне форума Ответить с цитированием
Старый 25.02.2010, 19:27   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Private Sub CommandButton1_Click()
    Sheets("hajt").Copy
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("AD2") & ".xls"
    ActiveWorkbook.Close False
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 25.02.2010, 20:09   #3
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Надо использовать SaveAs метод для объекта коллекции WorkSheets а не
Код:
WorkBooks как у вас
With ThisWorkbook
     .Worksheets("hajt").SaveAs .Path & "\" & .Worksheets("hajt").Range("AD2") & ".xls"
End With
Aent вне форума Ответить с цитированием
Старый 25.02.2010, 20:19   #4
barbus
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Aent Посмотреть сообщение
Надо использовать SaveAs метод для объекта коллекции WorkSheets а не
Код:
WorkBooks как у вас
With ThisWorkbook
     .Worksheets("hajt").SaveAs .Path & "\" & .Worksheets("hajt").Range("AD2") & ".xls"
End With
Спосибо.
Я так пробивал сохраняет (копирует) книгу со всеми листами а не один лист.

Последний раз редактировалось barbus; 25.02.2010 в 20:27.
barbus вне форума Ответить с цитированием
Старый 25.02.2010, 20:26   #5
barbus
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 37
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код:
Private Sub CommandButton1_Click()
    Sheets("hajt").Copy
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("AD2") & ".xls"
    ActiveWorkbook.Close False
End Sub
Спасибо код работает, но есть диалоговое окно, так говоря нежелательное.
Изображения
Тип файла: gif Безымянный.GIF (99.0 Кб, 127 просмотров)
barbus вне форума Ответить с цитированием
Старый 25.02.2010, 20:35   #6
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

точно в xls сохраняете? не в xlsx ?

Application.displayalerts отключили?
Dophin вне форума Ответить с цитированием
Старый 25.02.2010, 20:41   #7
barbus
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Dophin Посмотреть сообщение
точно в xls сохраняете? не в xlsx ?


да нужно в xls

Цитата:
Сообщение от Dophin Посмотреть сообщение
Application.displayalerts отключили?


нет, подскажете как.

Последний раз редактировалось barbus; 25.02.2010 в 20:51.
barbus вне форума Ответить с цитированием
Старый 25.02.2010, 21:46   #8
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от barbus Посмотреть сообщение
нет, подскажете как.
Код:
Private Sub CommandButton1_Click()
    Application.DisplayAlerts = False
    Sheets("hajt").Copy
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("AD2") & ".xls"
    ActiveWorkbook.Close False
    Application.DisplayAlerts = True
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 25.02.2010, 23:10   #9
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Если вы сохраняете файл в EXCEL 2003 (не в 2007!) то для сохранения
отдельной страницы достаточно добавить параметр FileFormat:=xlExcel4.
Естественно, предполагается, что на сохраняемом листе нет неподдерживаемых в формате EXCEL4 объектов. В 2007 этот формат не поддерживается.
http://support.microsoft.com/kb/157568
Aent вне форума Ответить с цитированием
Старый 26.02.2010, 18:37   #10
barbus
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 37
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Код:
Private Sub CommandButton1_Click()
    Application.DisplayAlerts = False
    Sheets("hajt").Copy
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("AD2") & ".xls"
    ActiveWorkbook.Close False
    Application.DisplayAlerts = True
End Sub
Спасибо.

При открытии выдает сообщение, может это из за того что открываю в Word 2007?.
Посмотрите.
Изображения
Тип файла: gif Безымянный.GIF (57.2 Кб, 129 просмотров)
barbus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с jQuery: Код не работает через отдельный файл Arnezami JavaScript, Ajax 2 17.01.2010 01:16
Обработка текста и запись результата в отдельный файл MrakSPb Общие вопросы C/C++ 2 20.12.2009 01:41
Сохранения каждой главы в отдельный файл mamed05 Microsoft Office Word 8 22.05.2009 16:19
Автоматическое сохранение листа в файл Csv flylive Microsoft Office Excel 13 02.04.2009 10:50
Сохранение текущего листа Excel в отдельный файл IpS Microsoft Office Excel 10 04.10.2008 13:45