找到并用“ =”替换为“ =”,直到最后一个工作表

时间:2020-07-30 20:00:00

标签: excel vba loops sum

我正在使用根据字体颜色对值求和的代码。它的效果很好,但是由于某种原因,所有方程式都会随机变为#N / A,然后我必须进行查找并用“ =”代替“ =”以恢复总和。我与主管共享文件,我想找到一种方法来防止#N / A替换公式,或者想使用一个代码来允许我创建一个按钮来运行查找并替换以恢复总和。当我使用查找和替换代码时,它会无限循环。有没有办法在最后一个工作表上将其结束?或一次只浏览一次工作簿。

这是我正在使用的总和代码:

Function SumCellsByFontColor(rData As Range, cellRefColor As Range)
    Dim indRefColor As Long
    Dim cellCurrent As Range
    Dim sumRes
    Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
 
    Application.Volatile
    sumRes = 0
    indRefColor = cellRefColor.Cells(1, 1).Font.Color
    For Each cellCurrent In rData
        If indRefColor = cellCurrent.Font.Color Then
            sumRes = WorksheetFunction.Sum(cellCurrent, sumRes)
        End If
    Next cellCurrent
 
    SumCellsByFontColor = sumRes
    Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
  End Function
  Sub Sumcellsbyfont()

  End Sub

这是我一直在尝试的查找和替换代码:

 Sub FindReplaceAll()

  Dim sht As Worksheet
  Dim fnd As Variant
  Dim rplc As Variant

   fnd = "="
rplc = "="

For Each sht In ActiveWorkbook.Worksheets
     sht.Cells.Replace what:=fnd, Replacement:=rplc, _
     LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
    SearchFormat:=False, ReplaceFormat:=False

   Next sht

   End Sub

我是使用VBA的新手,但我希望进行这项工作,因为按字体颜色求和将为我节省在进行更改时必须从常规求和公式中排除值的麻烦。每个工作簿大约要用15张纸。

非常感谢您的协助。

0 个答案:

没有答案