[VBA] Удаление формул во всех файлах

теперь напиши скрипт, удаляющий формулы во всех файлах в определенной папке
Вот скрипт, который удаляет формулы во всех файлах в определенной папке:

Код:
Sub DeleteFormulasInFolder()
    ' Укажите путь к папке, в которой нужно удалить формулы
    Dim folderPath As String
    folderPath = "C:\Путь\к\папке"
    
    ' Проверка, существует ли указанная папка
    If Dir(folderPath, vbDirectory) = "" Then
        MsgBox "Указанная папка не существует."
        Exit Sub
    End If
    
    ' Получаем список файлов в указанной папке
    Dim fileName As String
    fileName = Dir(folderPath & "\*.xlsx")
    
    ' Перебираем все файлы в папке
    Do While fileName <> ""
        ' Открываем файл
        Workbooks.Open folderPath & "\" & fileName
        
        ' Выбираем все листы в файле
        Dim worksheet As Worksheet
        For Each worksheet In ThisWorkbook.Worksheets
            ' Удаляем формулы в каждом листе
            worksheet.Cells.ClearContents
        Next worksheet
        
        ' Сохраняем изменения и закрываем файл
        ThisWorkbook.Close SaveChanges:=True
        
        ' Переходим к следующему файлу
        fileName = Dir
    Loop
    
    MsgBox "Формулы успешно удалены во всех файлах в указанной папке."
End Sub

Прежде чем запустить скрипт, убедитесь, что вы заменили "C:\Путь\к\папке" на фактический путь к папке, в которой находятся файлы, в которых нужно удалить формулы. После выполнения скрипта будет выведено сообщение "Формулы успешно удалены во всех файлах в указанной папке."
 
сделай скрипт, заменяющий формулы значениями во всех открытых документах и сохраняющий изменения
 
сделай скрипт, заменяющий формулы значениями во всех открытых документах и сохраняющий изменения
Конечно! Вот скрипт, который заменяет формулы значениями во всех открытых документах и сохраняет изменения:

Код:
Sub ReplaceFormulasWithValues()
    Dim workbook As Workbook
    Dim worksheet As Worksheet
    Dim cell As Range
    
    ' Перебираем все открытые документы
    For Each workbook In Workbooks
        ' Перебираем все листы в документе
        For Each worksheet In workbook.Worksheets
            ' Перебираем все ячейки с формулами
            For Each cell In worksheet.UsedRange.SpecialCells(xlCellTypeFormulas)
                ' Заменяем формулу значением
                cell.Value = cell.Value
            Next cell
        Next worksheet
        
        ' Сохраняем изменения в документе
        workbook.Save
    Next workbook
    
    MsgBox "Формулы успешно заменены значениями и изменения сохранены во всех открытых документах."
End Sub

Просто запустите этот скрипт, и он переберет все открытые документы, заменит формулы значениями и сохранит изменения в каждом документе. После выполнения скрипта будет выведено сообщение "Формулы успешно заменены значениями и изменения сохранены во всех открытых документах."
 
Назад
Сверху Снизу