如果我在 Excel 中选择多个单元格,我可以在自定义状态栏中看到一些功能。此信息是我自己从以下内容中选择的:
- 平均
- 数数
- 数字计数
- 最低限度
- 最大
- 和
我想在这个列表中添加一个计算非空白单元格比率的函数。该函数将是 =COUNTA(range) / (COUNTA(range) + COUNTBLANK(range)),但我怎样才能将它放入状态栏中?我在 VBA 方面没有太多经验,所以欢迎一些解释。
如果我在 Excel 中选择多个单元格,我可以在自定义状态栏中看到一些功能。此信息是我自己从以下内容中选择的:
我想在这个列表中添加一个计算非空白单元格比率的函数。该函数将是 =COUNTA(range) / (COUNTA(range) + COUNTBLANK(range)),但我怎样才能将它放入状态栏中?我在 VBA 方面没有太多经验,所以欢迎一些解释。
尝试这样的事情(虽然不是最好的方法,但可以解决你的目的)
说明:此代码的作用是检查用户是否选择了有效范围(最少 2 个单元格),然后使用Application.Evaluate
来计算您的公式,然后将其显示在状态栏中。另请注意,我没有进行任何错误处理。我相信你会照顾好它:)
将其粘贴到相关的工作表代码区域。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If TypeName(Target) = "Range" Then
If Target.Cells.Count > 1 Then
Application.StatusBar = "My Function: " & _
Application.Evaluate( _
"=COUNTA(" & _
Target.Address & _
") / (COUNTA(" & _
Target.Address & _
") + COUNTBLANK(" & _
Target.Address & _
"))" _
)
End If
End If
End Sub
这是一种非常基本的方法。如果您希望它适用于所有工作表,那么您必须相应地对其进行修改。
此方法的问题还在于它会抑制状态栏中的应用程序级别消息。
截屏