我正在使用excel公式来引用,并在必要时调整很长的已删除值列表。我的问题是偶尔价值以" = +"开头。导致它们被视为公式,从而产生#NAME?错误。每当我的公式引用这些单元格时,它也会产生所述错误。
无论如何都要考虑我公式中的#NAME错误?像ISNA这样的东西,但#NAME错误?
如果不可能,我可以使用VBA删除" = +"来自任何包含它的细胞?
任何帮助将不胜感激,我一直在寻找这个答案几个小时。
答案 0 :(得分:0)
我认为您可以直接在公式中使用= IFERROR(),这样可以节省开发专用于此特定错误的VBA代码的时间。
答案 1 :(得分:0)
你能不能使用......
= ERROR.TYPE(A1)= 5
这应该在公式中产生一个TRUE-FALSE ......
答案 2 :(得分:0)
如果你想删除" = +"你可以使用这样的东西:
Dim index As Integer
For index = 1 To 10
If (Mid(Cells(index, 1), 1, 2) = "=+") Then
Cells(index, 1) = Mid(Cells(index, 1), 3)
End If
Next
它将替换以" + ="开头的单元格内容。没有" + ="。
的相同内容答案 3 :(得分:0)
最简单的方法是在每个单元格的公式前添加'
。
想象一下,您的抓取值在C1:C10
范围内,您可以像这样修复:
For j = 1 To 10
Range("C" & j).Value = "'" & Range("C" & j).Formula
Next j
通过这样做,您可以保留已抓取对象的原始值。 当然,您可以在源头解决问题,即想象您打印这样的值:
rng.Value = myScrapedValue
...你可以像这样替换它:
rng.Value = quoteFirst(myScrapedValue)
......其中
Private Function quoteFirst(ByVal strng As String) As String
quoteFirst = "'" & strng
End Function