如果单元格=&#34,则尝试仅保留值中不是公式的值;是" 这是我的代码:
Sub Fixed()
Dim cell As Range
For Each cell In Range("Q4799:Q4825")
On Error Resume Next
If cell.Value = "Yes" Then
cell.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
End If
Next cell
End Sub
我为目前正在使用的公式运行它们:
=INDEX(Copy!B:B,MATCH(Manifest!A4800,Copy!A:A,0))
看起来like this 但是,无论该单元格值是什么,它似乎都在执行操作。因此,它目前正在为Q4799:Q4825中的每个细胞做一些事情,即使它不是"是"。
我该如何解决?
答案 0 :(得分:0)
重写为,
Sub Fixed()
Dim cell As Range
On Error Resume Next
For Each cell In Range("Q4799:Q4825")
If cell.Value = "Yes" Then
cell.Value = cell.Value
End If
Next cell
ActiveWorkbook.Save
End Sub
替代从公式返回的所有基于文本(非数字,非布尔,非错误)的值。
Sub Fixed()
with Range("Q4799:Q4825").specialcells(xlCellTypeFormulas, xlTextValues)
.Value = .Value
end with
ActiveWorkbook.Save
End Sub