为什么我会得到#VALUE!我该如何解决它?

问题描述 投票:0回答:1

我有一个工作表,它将一堆文本与模板进行比较,并根据它与模板的相似程度为框着色。我需要获得一个代码来计算有多少是绿色(好)和多少是红色(坏),然后我在后面引用这个数字,该数字进一步用于在第一张表中创建数据透视图。我的问题是,当我第一次打开文件时,我得到这些#VALUE!下面看到的错误(https://i.sstatic.net/GPd2sI6Q.png),这真的让我很困惑,因为我单击该框并按下回车按钮,代码运行得很好,并给出了下面的结果(https ://i.sstatic.net/Yj8CJiCx.png)我使用下面的代码来计算颜色

Function GetColorCount(CountRange As Range, CountColor As Range)
Dim CountColorValue As Integer
Dim TotalCount As Integer
Dim rCell As Range
CountColorValue = CountColor.Interior.ColorIndex
Set rCell = CountRange
For Each rCell In CountRange
  If rCell.Interior.ColorIndex = CountColorValue Then
    TotalCount = TotalCount + 1
  End If
Next rCell
GetColorCount = TotalCount
End Function

有趣的是,当我在给我“合规性绿色”数字的行上按回车键时,它也会运行“合规性红色”并且给出正确的数字没有任何问题

我已确保计算选项设置为自动。我不知道是什么原因导致这种情况发生?有任何想法吗?顺便说一句,我使用的是 Excel 版本 2405

excel vba function error-handling
1个回答
0
投票

我猜你用

#VALUE!
保存了工作簿。打开工作簿时工作表不会重新计算,因此会显示保存的值。只需重新计算工作表并保存工作簿即可。应该没问题吧

© www.soinside.com 2019 - 2024. All rights reserved.