Страницы: 1
RSS
Макрос для сохранения файла с заменой формул на значения
 
Привет всем.

Прошу помоч с макросом, который сохраняет текущий лист со значениями ячеек в новый эксел файл.
Можно сделать так, чтобы при сохранения нового файла он сохраняль значения только указанных ячеек, а остальных как есть, то есть чтобы формулы остались
Например мне нужно сохранить значение ячеек только в диапозоне H21:H32

Файл прикрепил.
Заранее спасибо
 
Привет.
Можно включить макрорекордер, записать действия по копированию - вставке в интересующий диапазон листа только значений, затем действия по копированию листа в новую книгу и сохранению этой новой книги.
Попробовать, как макрос работает.
:)
Кому решение нужно - тот пример и рисует.
 
В этом файле будут стоять формулы, которые на основе выбора человека из выпадающего формула будет искать его зарплаты.

Поэтому я хочу заменить эти формулы на значения при сохранении
 
Вы прочитали, что я вам написал?
Цитата
Пытливый написал:
записать действия по копированию - вставке в интересующий диапазон листа только значений,
Кому решение нужно - тот пример и рисует.
 
Да. Я сделал, но не получается, незнаю куда вставить.
 
Хм. Прочитав тему и первое сообщение от Пытливый я как-то грешным делом думал, что Вы из тех, кому всё на блюдечке подавай и даже не попробовал искать макросы в приложенном файле, а у Вас почти всё готово. Зря я так плохо о людях думаю.

После блока с With ActiveSheet.UsedRange.......End With Вставить
Код
ActiveSheet.Range("H21:H32").Formula = ThisWorkbook.ActiveSheet.Range("H21:H32").Formula
Оно?
Изменено: Wiss - 05.12.2019 14:48:16
Я не волшебник, я только учусь.
 
Код
Sub Сохранить_файл()
    Dim r As Range
    Set r = Range("H21:H32")
    Dim a As Variant
    a = r
    r = a
    With ActiveWorkbook
        .SaveAs Filename:=.Path & "\Новый файл.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    End With
End Sub
 
МатросНаЗебре, наверное прав. тогда вместо блока с With ActiveSheet.UsedRange.......End With Вставить
Код
ActiveSheet.Range("H21:H32").Value = ThisWorkbook.ActiveSheet.Range("H21:H32").Value
Изменено: Wiss - 05.12.2019 14:55:08
Я не волшебник, я только учусь.
 
Все получилось спасибо.

Есть еще такой вопрос, хочу добавить еще ячейку М4 и М5, но их объединили с другими ячейками на файле можете увидеть.

Можно ли это добавить или нет?  
 
Код
Range("M4:M5").value = Range("M4:M5").value
 
Код
Range("M4").Unmerge
Изменено: Wiss - 10.12.2019 15:37:38
Я не волшебник, я только учусь.
Страницы: 1
Наверх