Animation of status bar

Cossie

Active Member
Joined
May 6, 2002
Messages
328
Is there a way to animate the text that I have put into the status bar and how do i turn it off when i leave the spreadsheet?
 

Excel Facts

How to create a cell-sized chart?
Tiny charts, called Sparklines, were added to Excel 2010. Look for Sparklines on the Insert tab.
Hmm, animate it in what way? The only way you could do this would be using VBA and animating the status bar text is pretty much all it would be able to do then.
 
Upvote 0
yes using VB code is OK -by animation i mean having the text sliding in and out or flashing or similar
 
Upvote 0
this code moves a box along the status bar
like a percent finished
run the sub to use it
Function fWriteStatus(ByVal intTheCount As Integer, _
ByVal intTheMax As Integer) As String

Dim intCount1 As Integer
Dim intCount2 As Integer
' This puts a little box moving in the taskbar
' First part of status bar
fWriteStatus = " |"

' Now add some spaces up to the value
' we wish to represent
For intCount1 = 1 To intTheCount
fWriteStatus = fWriteStatus & Chr(32)
Next intCount1
' add a box (is's a non-printing ascii
' character)
fWriteStatus = fWriteStatus & Chr(2)
' Fill the rest of the gauge with spaces
For intCount2 = intCount1 To intTheMax
fWriteStatus = fWriteStatus & Chr(32)
Next intCount2

' ...then add the end marker and a
' percentage complete figure.
fWriteStatus = fWriteStatus & "| " _
& Format(intTheCount / intTheMax, "0%")
End Function

Sub sUsage1()
For Count = 0 To 5
Application.StatusBar = fWriteStatus(Count, 40)
Application.Wait Now() + TimeValue("00:00:01")
Next
Application.StatusBar = False
End Sub
 
Upvote 0
It's never going to flash, but this is the best you're going to get in terms of animation.

The "Private Declare..." part needs to go at the top of the module. (the declarations section)

<pre>
Private Declare Sub Sleep Lib "kernel32" _
(ByVal dwMilliseconds As Long)

Public Sub animatestatusbar()

Dim sText As String
Dim iLength As Integer
Dim bForwards As Boolean


sText = "Hello"
iLength = Len(sText) + 1
bForwards = True

Do
DoEvents

If bForwards Then
sText = " " & sText
Else
sText = Right(sText, Len(sText) - 1)
End If

If Len(sText) > 30 Then
bForwards = False
End If

If Len(sText) < iLength Then
bForwards = True
End If
Sleep 300
Application.StatusBar = sText
Loop

End Sub</pre>

HTH
 
Upvote 0

Forum statistics

Threads
1,214,516
Messages
6,119,979
Members
448,934
Latest member
audette89

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top