Userform blinking label
I have a userform with two labels and one button. I
would like to alternate the label backcolors between red and white. ie label1 backcolor is white, label2 red pause label1 backcolor is red, label2 white and so forth. Code in standard modual: (Adapted from an old post) Blink is called from buttons click event. Code works if I step through but does not work if breaks are removed. I'm stumped. TIA for any assistance Ed Option Explicit Private Declare Function GetComputerName Lib "kernel32" _ Alias "GetComputerNameA" (ByVal lbbuffer As String, _ nsize As Long) As Long Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Public Sub Blink() Dim mytime As String Dim i As Long For i = 1 To 50 ' set one color UserForm1.Label1.BackColor = &HFFFFFF UserForm1.Label2.BackColor = &HFF& Call Sleep(60) UserForm1.Label1.BackColor = &HFF& UserForm1.Label2.BackColor = &HFFFFFF Call Sleep(60) Next i End Sub |
Userform blinking label
Ed,
Place the following statement before each call of Sleep. DoEvents This releases control to the operating system to update the screen. You can also use UserForm1.RePaint John Green "Ed" wrote in message ... I have a userform with two labels and one button. I would like to alternate the label backcolors between red and white. ie label1 backcolor is white, label2 red pause label1 backcolor is red, label2 white and so forth. Code in standard modual: (Adapted from an old post) Blink is called from buttons click event. Code works if I step through but does not work if breaks are removed. I'm stumped. TIA for any assistance Ed Option Explicit Private Declare Function GetComputerName Lib "kernel32" _ Alias "GetComputerNameA" (ByVal lbbuffer As String, _ nsize As Long) As Long Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Public Sub Blink() Dim mytime As String Dim i As Long For i = 1 To 50 ' set one color UserForm1.Label1.BackColor = &HFFFFFF UserForm1.Label2.BackColor = &HFF& Call Sleep(60) UserForm1.Label1.BackColor = &HFF& UserForm1.Label2.BackColor = &HFFFFFF Call Sleep(60) Next i End Sub |
Userform blinking label
Thank you John,
Works like a charm. Ed -----Original Message----- Ed, Place the following statement before each call of Sleep. DoEvents This releases control to the operating system to update the screen. You can also use UserForm1.RePaint John Green "Ed" wrote in message ... I have a userform with two labels and one button. I would like to alternate the label backcolors between red and white. ie label1 backcolor is white, label2 red pause label1 backcolor is red, label2 white and so forth. Code in standard modual: (Adapted from an old post) Blink is called from buttons click event. Code works if I step through but does not work if breaks are removed. I'm stumped. TIA for any assistance Ed Option Explicit Private Declare Function GetComputerName Lib "kernel32" _ Alias "GetComputerNameA" (ByVal lbbuffer As String, _ nsize As Long) As Long Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Public Sub Blink() Dim mytime As String Dim i As Long For i = 1 To 50 ' set one color UserForm1.Label1.BackColor = &HFFFFFF UserForm1.Label2.BackColor = &HFF& Call Sleep(60) UserForm1.Label1.BackColor = &HFF& UserForm1.Label2.BackColor = &HFFFFFF Call Sleep(60) Next i End Sub . |
All times are GMT +1. The time now is 09:16 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com