如果我在Excel中选择了一些单元格,我可以在自定义状态栏中看到一些函数。以下信息是我自己选择的:
我想在这个列表中添加一个计算非空白单元格比率的函数。函数是=COUNTA(range) / (COUNTA(range) + COUNTBLANK(range)),但如何将其放入状态栏?我在VBA方面没有多少经验,所以欢迎解释一下。
发布于 2013-09-04 03:34:28
尝试这样的方法(虽然这不是最好的方法,但却解决了你的目标)
解释性:这段代码所做的是检查用户是否选择了一个有效范围(最小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
这是一种非常基本的方法。如果你希望它适用于所有的纸张,那么你将不得不相应地修改它。
此外,此方法的问题是它将抑制状态栏中的应用程序级消息。
截图
https://stackoverflow.com/questions/18612262
复制相似问题