VBA宏-删除公式(特定范围除外)

时间:2019-06-20 10:59:36

标签: vba excel-vba

我找到了一个脚本,该脚本从文件中的所有工作表中删除公式,并保留值和格式。我想添加一些代码,使我可以将某些公式保留在某些选项卡和范围内(我可能希望将公式保留在多个选项卡和范围内,因此请将其内置到解决方案中,或者说明如何添加其他范围)。

Sub Saveasvalue()
    Dim wsh As Worksheet
    For Each wsh In ThisWorkbook.Worksheets
        wsh.Cells.Copy
        wsh.Cells.PasteSpecial xlPasteValues
    Next
    Application.CutCopyMode = False
End Sub

1 个答案:

答案 0 :(得分:0)

假设您要转义范围B2:B8

请尝试使用此宏

Option Explicit

Sub keep_formula_In_Spesific_range()
 Dim Cel As Range
  For Each Cel In Sheets("sheet1").UsedRange. _
   SpecialCells(xlCellTypeFormulas, 23)
    If Intersect(Cel, Range("B2:B8")) Is Nothing Then
      If Cel.HasFormula Then
       Cel = Cel.Value
      End If
    End If
 Next Cel
End Sub

enter image description here