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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление формул автоматически - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Удаление формул автоматически
Гость Дата: Суббота, 07.05.2011, 01:09 | Сообщение № 1
Группа: Гости
Есть ли прога, которая автоматически создает копии книг Excel без формул, но с сохранением значений
 
Ответить
СообщениеЕсть ли прога, которая автоматически создает копии книг Excel без формул, но с сохранением значений

Автор - Гость
Дата добавления - 07.05.2011 в 01:09
Serge_007 Дата: Суббота, 07.05.2011, 01:36 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Вряд ли.
Это ведь макросами самого Excel делается.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВряд ли.
Это ведь макросами самого Excel делается.

Автор - Serge_007
Дата добавления - 07.05.2011 в 01:36
Гость Дата: Суббота, 07.05.2011, 01:42 | Сообщение № 3
Группа: Гости
Serge_007,
А если много формул в книге, а так же много книг - файлов. Мне надо преобразовать все формулы там в значение (текст).
 
Ответить
СообщениеSerge_007,
А если много формул в книге, а так же много книг - файлов. Мне надо преобразовать все формулы там в значение (текст).

Автор - Гость
Дата добавления - 07.05.2011 в 01:42
Serge_007 Дата: Суббота, 07.05.2011, 01:46 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Гость)
А если много формул в книге, а так же много книг - файлов

А какая разница?
Макрос будет открывать книгу за книгой из указанной папки (возможно и в скрытом режиме), прочитывать их, заменять формулы на значения и сохранять книги по указанному адресу. От кол-ва книг зависит только время выполнения макроса.

ЗЫ Если-бы была такая прога, то она работала-бы по такому-же принципу.



ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Гость)
А если много формул в книге, а так же много книг - файлов

А какая разница?
Макрос будет открывать книгу за книгой из указанной папки (возможно и в скрытом режиме), прочитывать их, заменять формулы на значения и сохранять книги по указанному адресу. От кол-ва книг зависит только время выполнения макроса.

ЗЫ Если-бы была такая прога, то она работала-бы по такому-же принципу.


Автор - Serge_007
Дата добавления - 07.05.2011 в 01:46
Gloom Дата: Понедельник, 14.05.2012, 12:10 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Возможно пригодится макрос:

Макрос заменяет все формулы на значения во всех файлах на всех листах в указанной папке

Sub УдалитьВсеФормулыВПапке()
Dim fd As FileDialog
Dim iPath As String
Dim iFileName As String
Dim iSheet As Worksheet

Set fd = Application.FileDialog(msoFileDialogFolderPicker)
ChDir "C:\"
With fd
.ButtonName = "Выбрать"
If .Show = -1 Then
iPath = .SelectedItems(1) & Application.PathSeparator
Else
Exit Sub
End If
End With
Set fd = Nothing

If MsgBox("Во всех документах Excel в папке " & iPath & " на всех листах формулы будут заменены на значения!" & Chr(13) & "Вы уверены ???", vbOKCancel + vbExclamation, "Подтверждение") = vbCancel Then Exit Sub
If MsgBox("Вы отдаёте себе отчёт, что формулы во всех файлах будут удалены?", vbOKCancel + vbExclamation, "Подтверждение") = vbCancel Then Exit Sub

With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
'.EnableEvents = False
iFileName = Dir(iPath & "*.xls")
Do While iFileName$ <> ""
With Workbooks.Open(Filename:=iPath & iFileName, UpdateLinks:=0)
For Each iSheet In .Sheets
With iSheet.UsedRange
.Value = .Value
End With
Next
.Close saveChanges:=True
End With
iFileName$ = Dir
Loop
.EnableEvents = True
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
MsgBox "Во всех документах Excel в папке " & iPath & " на всех листах формулы были заменены на значения!", 64, "Конец"
End Sub

©писано с http://www.planetaexcel.ru/forum.php?thread_id=7387


-=*=-
 
Ответить
СообщениеВозможно пригодится макрос:

Макрос заменяет все формулы на значения во всех файлах на всех листах в указанной папке

Sub УдалитьВсеФормулыВПапке()
Dim fd As FileDialog
Dim iPath As String
Dim iFileName As String
Dim iSheet As Worksheet

Set fd = Application.FileDialog(msoFileDialogFolderPicker)
ChDir "C:\"
With fd
.ButtonName = "Выбрать"
If .Show = -1 Then
iPath = .SelectedItems(1) & Application.PathSeparator
Else
Exit Sub
End If
End With
Set fd = Nothing

If MsgBox("Во всех документах Excel в папке " & iPath & " на всех листах формулы будут заменены на значения!" & Chr(13) & "Вы уверены ???", vbOKCancel + vbExclamation, "Подтверждение") = vbCancel Then Exit Sub
If MsgBox("Вы отдаёте себе отчёт, что формулы во всех файлах будут удалены?", vbOKCancel + vbExclamation, "Подтверждение") = vbCancel Then Exit Sub

With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
'.EnableEvents = False
iFileName = Dir(iPath & "*.xls")
Do While iFileName$ <> ""
With Workbooks.Open(Filename:=iPath & iFileName, UpdateLinks:=0)
For Each iSheet In .Sheets
With iSheet.UsedRange
.Value = .Value
End With
Next
.Close saveChanges:=True
End With
iFileName$ = Dir
Loop
.EnableEvents = True
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
MsgBox "Во всех документах Excel в папке " & iPath & " на всех листах формулы были заменены на значения!", 64, "Конец"
End Sub

©писано с http://www.planetaexcel.ru/forum.php?thread_id=7387

Автор - Gloom
Дата добавления - 14.05.2012 в 12:10
Gloom Дата: Понедельник, 14.05.2012, 12:20 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Простите за наивный вопрос: Как исправить макрос, чтобы замена формул значениями происходила только в выделенном диапазоне?

Sub FormulaToValue()
Dim cl As Range
For Each cl In Selection
cl.Value = cl.Value
Next
End Sub

Ибо спец. вставку юзать иногда геморно(


-=*=-
 
Ответить
СообщениеПростите за наивный вопрос: Как исправить макрос, чтобы замена формул значениями происходила только в выделенном диапазоне?

Sub FormulaToValue()
Dim cl As Range
For Each cl In Selection
cl.Value = cl.Value
Next
End Sub

Ибо спец. вставку юзать иногда геморно(

Автор - Gloom
Дата добавления - 14.05.2012 в 12:20
RAN Дата: Понедельник, 14.05.2012, 12:30 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Code
Range(cl.Address).Value = cl.Value
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Code
Range(cl.Address).Value = cl.Value
[/vba]

Автор - RAN
Дата добавления - 14.05.2012 в 12:30
_Boroda_ Дата: Понедельник, 14.05.2012, 12:31 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
То есть, на каждом листе каждой книги Вы хотите предварительно выделить какие-то диапазоны? Я правильно понял? А зачем тогда этот макрос, если все равно Вы собираетесь эти книги/листы открывать (чтобы диапазоны повыделять) - тогда и повставляйте значениями (2 дополнительных клика мышой).
Если очень хочется, то замените
With iSheet.UsedRange
на
With iSheet.Selection

или это вопрос, не относящийся к Вашему предпредыдущему посту (с длинным макросом)?
если это вопрос не про тот макрос, а вообще, то для ОДНОГО выделенного диапазона я использую такой макрос
Code
Sub tt()
Selection = Selection.Value
End Sub


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТо есть, на каждом листе каждой книги Вы хотите предварительно выделить какие-то диапазоны? Я правильно понял? А зачем тогда этот макрос, если все равно Вы собираетесь эти книги/листы открывать (чтобы диапазоны повыделять) - тогда и повставляйте значениями (2 дополнительных клика мышой).
Если очень хочется, то замените
With iSheet.UsedRange
на
With iSheet.Selection

или это вопрос, не относящийся к Вашему предпредыдущему посту (с длинным макросом)?
если это вопрос не про тот макрос, а вообще, то для ОДНОГО выделенного диапазона я использую такой макрос
Code
Sub tt()
Selection = Selection.Value
End Sub

Автор - _Boroda_
Дата добавления - 14.05.2012 в 12:31
  • Страница 1 из 1
  • 1
Поиск:

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