Text - Blink //

S

sansk_23

How can we make a TEXT in a particular cell , to BLINK continuously ..
Is there any way we can assign this feature to a cell or a text in a
worksheet .
Pls suggest .
rgds
Sk.
 
S

sansk_23

Hi !! Did as suggested in the link below .
When i try to close the worksheet , it gives me an error : -
Compile Error. "Startblink" Sub or Function Not Defined.
If you could pls help me thru this .
rgds
Sk.
 
S

sansk_23

Thanks, it works .

Have further queries -
1.) How can i make the workbook open with Macros Enabled - always, w/o user
being asked for the option to choose - Disable or Enable.
2.) How can i apply the blink feature to the cells with a particular value
witin a worksheet , eg - All the cells with value "F" should blink in a
worksheet with blue cell colour & white text in bold ?

rgds // Sk.
 
M

Mike H

1. How do make a workbook start with macros enabled.

Search this forum and you'll get lots of suggestions

2. Make cells with a particular value blink.

The overhead of the routine already slows things down as pointed out by the
man who wrote it and to check every cell on a worksheet once a second and
then changing the font would increase that overhead even more.

However, If J.E. McGimpsey will forgive my attempt at modifying his code,
this blinks every cell that contains the text 'Blink' in the range A1 - H100.
If there's a better way; and I'm sure there is, then maybe Mr McGimpsey will
see your post and respond.

Sub StartBlink()
Set myrange = Range("A1:H100")
For Each c In myrange
If c.Text = "Blink" Then
If c.Font.ColorIndex = 3 Then ' Red Text
c.Font.ColorIndex = 2 ' White Text
Else
c.Font.ColorIndex = 3 ' Red Text
End If
End If
If c.Text <> "Blink" Then
c.Font.ColorIndex = xlColorIndexAutomatic
End If
Next
RunWhen = Now + TimeSerial(0, 0, 1)
Application.OnTime RunWhen, "'" & ThisWorkbook.Name & "'!StartBlink", ,
True
End Sub


Mike
 
J

JLGWhiz

Just to add to Mike's remarks about blinking cells, if you really want to
draw a user's attention to a particular cell, then use a message box. It can
specify exactly what you want the user to know about that cell and is not
nearly as annoying.
 
S

sansk_23

Hi Mike !!

Thanks for the help. It too works.
But, the moment i put a conditional formating or change the format of the
range for which i execute the below code, it does not work and gives an error.
All i was trying with the blink program that :
1.) the Text should be in white colour &
2.) the cell color(fill) should be blue.
Can i in-built this in the below code itself.

rgds // Sk.
 
K

K

Hi Mike !!

Thanks for the help. It too works.
But, the moment i put a conditional formating or change the format of the
range for which i execute the below code, it does not work and gives an error.
All i was trying with the blink program that :
1.) the Text should be in white colour &
2.) the cell color(fill) should be blue.
Can i in-built this in the below code itself.

rgds // Sk.










- Show quoted text -

Hi sansk, Try the code below. Paste this code into your Workbook
Module (right click on Tab + go to "Insert" + click on "Module")

Public RunWhen As Double
Sub StartBlink()
Set myrange = Range("A1:H100") ' CHANGE THIS RANGE TO YOUR NEED
For Each c In myrange
If Left(c, 1) = "F" Then
If c.Interior.ColorIndex = 5 Then ' BLUE CELL COLOUR
c.Interior.ColorIndex = 2 ' WHITE CELL COLOUR
Else
c.Interior.ColorIndex = 5 ' BLUE CELL COLOUR
End If
End If
If Left(c, 1) = "F" Then
c.Font.ColorIndex = 2
c.Font.Bold = True
End If
Next
RunWhen = Now + TimeSerial(0, 0, 1)
Application.OnTime RunWhen, "StartBlink", , True
End Sub

Sub StopBlink()
Set myrange = Range("A1:H100")
For Each c In myrange
c.Interior.ColorIndex = 0
c.Font.ColorIndex = 0
c.Font.Bold = False
Next
Application.OnTime RunWhen, "StartBlink", , False
End Sub

The macro above will blink text only which will start with uppercase
text character "F" not with lowercase text character "f" so you have
to make sure that your first text character should be in uppercase.

Now if you want to see your all words which starts from letter "F"
should blink when you open your workbook then add or paste the codes
below in your "ThisWorkbook" Module

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call StopBlink
End Sub

Private Sub Workbook_Open()
Call StartBlink
End Sub

Hop this will solve problem
K
 
K

K

Hi sansk,  Try the code below. Paste this code into your Workbook
Module (right click on Tab + go to "Insert" + click on "Module")

Public RunWhen As Double
Sub StartBlink()
Set myrange = Range("A1:H100") ' CHANGE THIS RANGE TO YOUR NEED
For Each c In myrange
    If Left(c, 1) = "F" Then
        If c.Interior.ColorIndex = 5 Then ' BLUE CELL COLOUR
            c.Interior.ColorIndex = 2 ' WHITE CELL COLOUR
        Else
            c.Interior.ColorIndex = 5 ' BLUE CELL COLOUR
        End If
    End If
    If Left(c, 1) = "F" Then
            c.Font.ColorIndex = 2
            c.Font.Bold = True
    End If
Next
    RunWhen = Now + TimeSerial(0, 0, 1)
    Application.OnTime RunWhen, "StartBlink", , True
End Sub

Sub StopBlink()
Set myrange = Range("A1:H100")
For Each c In myrange
c.Interior.ColorIndex = 0
c.Font.ColorIndex = 0
c.Font.Bold = False
Next
Application.OnTime RunWhen, "StartBlink", , False
End Sub

The macro above will blink text only which will start with uppercase
text character "F" not with lowercase text character "f" so you have
to make sure that your first text character should be in uppercase.

Now if you want to see your all words which starts from letter "F"
should blink when you open your workbook then add or paste the codes
below in your "ThisWorkbook" Module

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call StopBlink
End Sub

Private Sub Workbook_Open()
Call StartBlink
End Sub

Hop this will solve problem
K- Hide quoted text -

- Show quoted text -

The code below is slightly different from above and blink texts which
start from uppercase "F" and lowercase '"f"

Public RunWhen As Double

Sub StartBlink2()

Set myrange = Range("A1:H100")
For Each c In myrange
If Left(c, 1) = "F" Or Left(c, 1) = "f" Then
If c.Interior.ColorIndex = 5 Then

c.Interior.ColorIndex = 2
c.Font.ColorIndex = xlColorIndexAutomatic
c.Font.Bold = False
Else
c.Interior.ColorIndex = 5
c.Font.ColorIndex = 2
c.Font.Bold = True
End If
End If

Next
RunWhen = Now + TimeSerial(0, 0, 1)
Application.OnTime RunWhen, "StartBlink2", , True
End Sub

Sub StopBlink2()
Set myrange = Range("A1:H100")
For Each c In myrange
c.Interior.ColorIndex = 0
c.Font.ColorIndex = 0
c.Font.Bold = False
Next
Application.OnTime RunWhen, "StartBlink2", , False
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top