View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default Adding a new function to values in the status bar

You can do it as application events, which will work equally well in an
add-in.

Dim WithEvents app As Application

Private Sub app_SheetSelectionChange(ByVal Sh As Object, ByVal Target As
Range)
Application.StatusBar = Application.Sum(Target)
End Sub

Private Sub Workbook_Open()
Set app = Application
End Sub

'This is workbook event code.
'To input this code, right click on the Excel icon on the worksheet
'(or next to the File menu if you maximise your workbooks),
'select View Code from the menu, and paste the code

In a tolbar button, it looke like this

Private WithEvents app As Application
Private oCtl As CommandBarControl

Private Sub app_SheetSelectionChange(ByVal Sh As Object, ByVal Target As
Range)
oCtl.Caption = "SUM = " & Application.Sum(Target)
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
oCtl.Delete
On Error GoTo 0
End Sub

Private Sub Workbook_Open()
Set app = Application
On Error Resume Next
oCtl.Delete
On Error GoTo 0
With Application.CommandBars("Standard")
Set oCtl = .Controls.Add(temporary:=True)
oCtl.BeginGroup = True
oCtl.Caption = "<<SUM"
oCtl.Style = msoButtonCaption
End With
End Sub

'This is workbook event code.
'To input this code, right click on the Excel icon on the worksheet
'(or next to the File menu if you maximise your workbooks),
'select View Code from the menu, and paste the code


wrote in message
oups.com...
Hi,

Thanks for the responses.

Can the solution proposed here be made available as an VBA add-in or
must this code be added to the VBA associated directly with the sheet?

As a sumwhat unrelated question, rather than writing to a toolbar, can
you write to a field in a custom toolbar?

Many thanks again,

Aaron Fude

Bob Phillips wrote:
I don't think that it is possible.

Here is a suggestion by John Walkenbach, VBA though

I'm pretty sure that it's not possible. Nothing in the Excel object model
deals with that feature.


However, you can monitor the SelectionChange event, then display some info
in the left part of the status bar. Here's a simple Sub that demonstrates
(using SUM):


Private Sub Worksheet_SelectionChange(ByVa*l Target As Range)
Application.StatusBar = Application.Sum(Target)
End Sub


Note that this will overwrite the information that normally appears there.



--

HTH

RP
(remove nothere from the email address if mailing direct)


wrote in message
oups.com...
Hi,

That nice feature of excel where the status bar displays either the sum
or the average or the count of the selection - can that be extended
with another function, such as geometric average or median?


Any solution is welcome, but .net is preferred!

Thank you!

Aaron Fude