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

Вход

Регистрация

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

 

= Мир MS Excel/Сохранение листа из книги с удалением формул - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение листа из книги с удалением формул (Макросы/Sub)
Сохранение листа из книги с удалением формул
tasdel Дата: Понедельник, 27.03.2017, 20:45 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте уважаемые программисты!
Имеется рабочая книга с расчетными формулами.Хочется автоматизировать процедуру сохранения листа, в качестве новой книги, с последующим удалением формул в новой сохраненной книге, минуя установленную защиту в рабочей книге.
Прилагаю файл с макросами:
1) на сохранение листа
2) на удаление формул
Заранее спасибо!
К сообщению приложен файл: 3936738.xls (36.0 Kb)


Сообщение отредактировал tasdel - Понедельник, 27.03.2017, 21:31
 
Ответить
СообщениеЗдравствуйте уважаемые программисты!
Имеется рабочая книга с расчетными формулами.Хочется автоматизировать процедуру сохранения листа, в качестве новой книги, с последующим удалением формул в новой сохраненной книге, минуя установленную защиту в рабочей книге.
Прилагаю файл с макросами:
1) на сохранение листа
2) на удаление формул
Заранее спасибо!

Автор - tasdel
Дата добавления - 27.03.2017 в 20:45
_Boroda_ Дата: Понедельник, 27.03.2017, 22:24 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не очень хороший вариант, но может подойдет?
[vba]
Код
Private Sub Сохранение()
    Dim wb1 As Workbook
    On Error Resume Next
    Const REPORTS_FOLDER = "Отчёты по тепловым счетчикам\"
    MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
    ChDrive Left(ThisWorkbook.Path, 1): ChDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
    Filename = Application.GetSaveAsFilename("отчёт.xls", "Отчёты Excel (*.xls*),", , _
    "Введите имя файла для сохраняемого отчёта", "Сохранить")
    If VarType(Filename) = vbBoolean Then Exit Sub
    Filename = Filename & "xls"
    On Error Resume Next
    Range("A1:AA9999").Copy
    Set wb1 = Workbooks.Add
    With wb1.Sheets(1).Range("A1")
        .PasteSpecial (xlPasteColumnWidths)
        .PasteSpecial (xlPasteValues)
        .PasteSpecial (xlPasteFormats)
    End With
    wb1.SaveAs Filename, xlWorkbookNormal
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе очень хороший вариант, но может подойдет?
[vba]
Код
Private Sub Сохранение()
    Dim wb1 As Workbook
    On Error Resume Next
    Const REPORTS_FOLDER = "Отчёты по тепловым счетчикам\"
    MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
    ChDrive Left(ThisWorkbook.Path, 1): ChDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
    Filename = Application.GetSaveAsFilename("отчёт.xls", "Отчёты Excel (*.xls*),", , _
    "Введите имя файла для сохраняемого отчёта", "Сохранить")
    If VarType(Filename) = vbBoolean Then Exit Sub
    Filename = Filename & "xls"
    On Error Resume Next
    Range("A1:AA9999").Copy
    Set wb1 = Workbooks.Add
    With wb1.Sheets(1).Range("A1")
        .PasteSpecial (xlPasteColumnWidths)
        .PasteSpecial (xlPasteValues)
        .PasteSpecial (xlPasteFormats)
    End With
    wb1.SaveAs Filename, xlWorkbookNormal
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 27.03.2017 в 22:24
tasdel Дата: Понедельник, 27.03.2017, 22:35 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
_Boroda_, Почему не очень хороший вариант? По мне так отличный вариант.
Большое спасибо!
 
Ответить
Сообщение_Boroda_, Почему не очень хороший вариант? По мне так отличный вариант.
Большое спасибо!

Автор - tasdel
Дата добавления - 27.03.2017 в 22:35
_Boroda_ Дата: Понедельник, 27.03.2017, 22:56 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Потому, что копируется диапазон A1:AA9999. А если у Вас на копируемом листе будет бОльший диапазон?
Сразу скажу, что копировать вообще все-все не стОит


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПотому, что копируется диапазон A1:AA9999. А если у Вас на копируемом листе будет бОльший диапазон?
Сразу скажу, что копировать вообще все-все не стОит

Автор - _Boroda_
Дата добавления - 27.03.2017 в 22:56
tasdel Дата: Понедельник, 27.03.2017, 23:06 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
_Boroda_, Почему-то не хочет работать макрос в моей программке?
Примечание:1)книга двоичная 2) диапазон небольшой
А на выложенном файле работает.
 
Ответить
Сообщение_Boroda_, Почему-то не хочет работать макрос в моей программке?
Примечание:1)книга двоичная 2) диапазон небольшой
А на выложенном файле работает.

Автор - tasdel
Дата добавления - 27.03.2017 в 23:06
tasdel Дата: Понедельник, 27.03.2017, 23:15 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
_Boroda_, Все работает это я что-то тупанул.
Еще раз премного благодарен.
 
Ответить
Сообщение_Boroda_, Все работает это я что-то тупанул.
Еще раз премного благодарен.

Автор - tasdel
Дата добавления - 27.03.2017 в 23:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение листа из книги с удалением формул (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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