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

Вход

Регистрация

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

 

= Мир MS Excel/Сохранить вкладку как новый файл без изменений - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранить вкладку как новый файл без изменений (Формулы/Formulas)
Сохранить вкладку как новый файл без изменений
mrwad Дата: Среда, 06.07.2016, 15:11 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день!

Помогите с макросом, который будет:

1) Удалять все строки в который есть формула, но нет значений (он уже написан см. ниже)
2) Удалять все формулы в листе (он уже написан см. ниже)
3) Сохранить вкладку как новый файл с определенным именем файла "Файл 1" + дата.
4) Все это будет происходить без затрагивания исходного файла

Мой вариант, который не работает:

Все работало пока не совместил с другими макросами в один. Теперь при нажатии кноки макроса, удаляет ненужные строки, удаляет формулы и сохраняет как новый файл. Однако, при открытие созданного данной функцией файла, есть следующие проблемы:

1) Пустые строки не удалены (формулы удалены, новый файл создан)
2) Почему-то меняется цвет одной строки (был фиолетовый, стал желтый)
3) При открытии нового файла пишет, что коррупирован и открытие его может быть не безопасно (почему?)
4) Как в функции поменять, чтобы новый файл не просто датой назывался, а определенное имя файла "Файл 1" + дата.

[vba]
Код
Sub DeleteRows()
    Set rr = Range("A15:O226")
    For Each cell In rr
    cell.Select
        If cell.HasFormula = True And cell.Value = "" And cell.EntireRow.Hidden = False Then Rows(cell.Row).EntireRow.Hidden = True
    Next cell
End Sub

Sub All_Formulas_To_Values_()
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
End Sub

Sub SaveAsNew()
Dim FileN$
FileN = ThisWorkbook.Path & "\" & Date & ".xls"
ThisWorkbook.Sheets(5).Copy
ActiveWorkbook.SaveCopyAs FileN
ActiveWorkbook.Close SaveChanges:=False
MsgBox "Worksheet is saved as new file " & FileN
End Sub

Sub AllOperations()
Call DeleteRows
Call All_Formulas_To_Values_
Call SaveAsNew
End Sub
[/vba]


Сообщение отредактировал mrwad - Среда, 06.07.2016, 15:12
 
Ответить
СообщениеДобрый день!

Помогите с макросом, который будет:

1) Удалять все строки в который есть формула, но нет значений (он уже написан см. ниже)
2) Удалять все формулы в листе (он уже написан см. ниже)
3) Сохранить вкладку как новый файл с определенным именем файла "Файл 1" + дата.
4) Все это будет происходить без затрагивания исходного файла

Мой вариант, который не работает:

Все работало пока не совместил с другими макросами в один. Теперь при нажатии кноки макроса, удаляет ненужные строки, удаляет формулы и сохраняет как новый файл. Однако, при открытие созданного данной функцией файла, есть следующие проблемы:

1) Пустые строки не удалены (формулы удалены, новый файл создан)
2) Почему-то меняется цвет одной строки (был фиолетовый, стал желтый)
3) При открытии нового файла пишет, что коррупирован и открытие его может быть не безопасно (почему?)
4) Как в функции поменять, чтобы новый файл не просто датой назывался, а определенное имя файла "Файл 1" + дата.

[vba]
Код
Sub DeleteRows()
    Set rr = Range("A15:O226")
    For Each cell In rr
    cell.Select
        If cell.HasFormula = True And cell.Value = "" And cell.EntireRow.Hidden = False Then Rows(cell.Row).EntireRow.Hidden = True
    Next cell
End Sub

Sub All_Formulas_To_Values_()
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
End Sub

Sub SaveAsNew()
Dim FileN$
FileN = ThisWorkbook.Path & "\" & Date & ".xls"
ThisWorkbook.Sheets(5).Copy
ActiveWorkbook.SaveCopyAs FileN
ActiveWorkbook.Close SaveChanges:=False
MsgBox "Worksheet is saved as new file " & FileN
End Sub

Sub AllOperations()
Call DeleteRows
Call All_Formulas_To_Values_
Call SaveAsNew
End Sub
[/vba]

Автор - mrwad
Дата добавления - 06.07.2016 в 15:11
RAN Дата: Среда, 06.07.2016, 15:45 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
удаляет ненужные строки

В котором месте?
и сохраняет как новый файл.

Не как новый файл, а как копию вновь созданного файла. И если при сохранении файла есть возможность превратить его в xls, то, при сохранении его копии, ее можно сохранить только в формате исходного файла.


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

В котором месте?
и сохраняет как новый файл.

Не как новый файл, а как копию вновь созданного файла. И если при сохранении файла есть возможность превратить его в xls, то, при сохранении его копии, ее можно сохранить только в формате исходного файла.

Автор - RAN
Дата добавления - 06.07.2016 в 15:45
mrwad Дата: Среда, 06.07.2016, 16:07 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
удаляет ненужные строки

В котором месте?


Удаляет все строки в которых есть формула, но нет значений ("A15:O226").

Формула:

[vba]
Код
Sub DeleteRows()
    Set rr = Range("A15:O226")
    For Each cell In rr
    cell.Select
        If cell.HasFormula = True And cell.Value = "" And cell.EntireRow.Hidden = False Then Rows(cell.Row).EntireRow.Hidden = True
    Next cell
End Sub
[/vba]

Не как новый файл, а как копию вновь созданного файла. И если при сохранении файла есть возможность превратить его в xls, то, при сохранении его копии, ее можно сохранить только в формате исходного файла.


Да, нужно чтобы создавался временный файл, в котором будут производится эти действия (по удалению строк и формул). Далее он будет сохраняться в тойже папке, под именем: "Нужное имя" + текущая дата.


Сообщение отредактировал mrwad - Среда, 06.07.2016, 16:13
 
Ответить
Сообщение
удаляет ненужные строки

В котором месте?


Удаляет все строки в которых есть формула, но нет значений ("A15:O226").

Формула:

[vba]
Код
Sub DeleteRows()
    Set rr = Range("A15:O226")
    For Each cell In rr
    cell.Select
        If cell.HasFormula = True And cell.Value = "" And cell.EntireRow.Hidden = False Then Rows(cell.Row).EntireRow.Hidden = True
    Next cell
End Sub
[/vba]

Не как новый файл, а как копию вновь созданного файла. И если при сохранении файла есть возможность превратить его в xls, то, при сохранении его копии, ее можно сохранить только в формате исходного файла.


Да, нужно чтобы создавался временный файл, в котором будут производится эти действия (по удалению строк и формул). Далее он будет сохраняться в тойже папке, под именем: "Нужное имя" + текущая дата.

Автор - mrwad
Дата добавления - 06.07.2016 в 16:07
RAN Дата: Среда, 06.07.2016, 16:59 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
Ваш код скрывает строки, а не удаляет.
Сохранять - Save, сохранять как копию - SaveCopyAs.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВаш код скрывает строки, а не удаляет.
Сохранять - Save, сохранять как копию - SaveCopyAs.

Автор - RAN
Дата добавления - 06.07.2016 в 16:59
mrwad Дата: Среда, 06.07.2016, 17:19 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Ваш код скрывает строки, а не удаляет.
Сохранять - Save, сохранять как копию - SaveCopyAs.


Лучше чтобы удалялись, но и так работает. Я не гуру, так сказать: слепила из того, что было. Если кто может помочь, буду очень благодарен.
 
Ответить
Сообщение
Ваш код скрывает строки, а не удаляет.
Сохранять - Save, сохранять как копию - SaveCopyAs.


Лучше чтобы удалялись, но и так работает. Я не гуру, так сказать: слепила из того, что было. Если кто может помочь, буду очень благодарен.

Автор - mrwad
Дата добавления - 06.07.2016 в 17:19
Udik Дата: Среда, 06.07.2016, 17:34 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1201
Репутация: 152 ±
Замечаний: 0% ±

Excel 2013
4) Как в функции поменять, чтобы новый файл не просто датой назывался, а определенное имя файла "Файл 1" + дата.

Добавьте своё имя к строке
[vba]
Код

FileN = ThisWorkbook.Path & "\" & Date & ".xls"
[/vba]

типа так
[vba]
Код

FileN = ThisWorkbook.Path & "\" & "Имя, однако " & Date & ".xls"
[/vba]


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Среда, 06.07.2016, 17:35
 
Ответить
Сообщение
4) Как в функции поменять, чтобы новый файл не просто датой назывался, а определенное имя файла "Файл 1" + дата.

Добавьте своё имя к строке
[vba]
Код

FileN = ThisWorkbook.Path & "\" & Date & ".xls"
[/vba]

типа так
[vba]
Код

FileN = ThisWorkbook.Path & "\" & "Имя, однако " & Date & ".xls"
[/vba]

Автор - Udik
Дата добавления - 06.07.2016 в 17:34
mrwad Дата: Четверг, 07.07.2016, 10:47 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Приложил файл. При нажатии кнопки, строки скрываются, нужно чтобы удалялись. На созданный файл почему-то постоянно ругается при открытии, пишет, что "корруппирован"? Формулы и строки удаляются в первоначальном файле, нужно чтобы удалялись только строки, а формулы оставались. В созданном новом файле удалялись и строки и формулы.

Спасибо!
К сообщению приложен файл: Book1.xlsm(27Kb)
 
Ответить
СообщениеПриложил файл. При нажатии кнопки, строки скрываются, нужно чтобы удалялись. На созданный файл почему-то постоянно ругается при открытии, пишет, что "корруппирован"? Формулы и строки удаляются в первоначальном файле, нужно чтобы удалялись только строки, а формулы оставались. В созданном новом файле удалялись и строки и формулы.

Спасибо!

Автор - mrwad
Дата добавления - 07.07.2016 в 10:47
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранить вкладку как новый файл без изменений (Формулы/Formulas)
Страница 1 из 11
Поиск:

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