我正在使用根据字体颜色对值求和的代码。它的效果很好,但是由于某种原因,所有方程式都会随机变为#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张纸。
非常感谢您的协助。