Splash Screen - 'Do Not Show Again' checkbox

MaxChef

New Member
Joined
Jun 23, 2009
Messages
11
I have a SplashScreen that is activated in the ‘Workbook_Open ‘ Event.

A CheckboxControl on the SplashScreen allows a user to disregard the screen the next time the workbook is opened.
<o:p> </o:p>
Code:
  Private Sub Splash_Screen_Activate()
  <o:p> </o:p>
    If Splash_Screen.ckbx_StopSplashScreen.Value = True Then
       Splash_Screen.Hide
  Else<o:p></o:p>
  <o:p> </o:p>
  If Splash_Screen.ckbx_StopSplashScreen = False Then
      Splash_Screen.Show
        End If
          End If
  <o:p> </o:p>
  End Sub
Unfortunatley my code is not working. I was hoping for some insight into making this work. Mind you, I’m a cut and paste VBA type of person, but I do understand the concepts enough to work with it.
<o:p> </o:p>
<!--[if !supportLists]-->1.<!--[endif]-->What is the proper method for coding this?
<!--[if !supportLists]-->2.<!--[endif]-->Which location would this code be placed – the Form itself or a Module?
<!--[if !supportLists]-->3.<!--[endif]-->How and where do you store the CheckBox Value to be used the next time the Workbook is opened?
<o:p> </o:p>
Much appreciated.
 

Excel Facts

Format cells as time
Select range and press Ctrl+Shift+2 to format cells as time. (Shift 2 is the @ sign).
Hello and welcome to MrExcel.

For Q3 your options for storing the value include


  • A cell (perhaps in a hidden worksheet); or
  • a text file; or
  • Windows registry.

What is your preference?
 
Upvote 0
You can store the checkbox value in a cell. If the user ticks the box, cell value=1, else 0. Workbook open event can evaluate this cell and decide whether to run the splash screen.

This is my personal method that I would use.
 
Upvote 0
I'd suggest that you use the Workbook_Open event to choose whether to load the screen or not.

Have a cell on a worksheet capture the value of the checkbox and then read that value on opening the workbook. So if the value is true then you can skip loading the screen.

So, if cell A1 contains the value TRUE or FALSE depending on the checkbox your Workbook_Open even would have something like:
Code:
If Not (Sheets("Sheet1").Range("A1")) Then
'Show the screen
End If

Hope that helps
 
Upvote 0
This workbook is a recipe costing spreadsheet for my students. I suppose the registry would be the best place in order to avoid them accidentally changing it.
 
Upvote 0
Wow, you folks are FAST. Before I try this code, I'm still curious about storing the value. Why is a cell better than the registry or vice a versa?
 
Upvote 0
As spreadsheet files can (and often are) transferred to other computers there are advantages to both (and of course, disadvantages). The advantage of storing in the cell is that you contain the value to the file, so that if the file is used on another PC/user it "remembers" the user's choice - this is obviously also a disadvantage as once the user has saved the file it won't show again if he/she sends it to another user.

Storing to a cell is "easier", in that there is less to code, but you do need to ensure that you have a cell that won't be used or overwritten by the user - either on a hidden sheet or range (obviously increases the file size ever so slightly).
 
Upvote 0
Hello

Using a Defined name is also a valid alternative, although this can be deleted / changed as well.

Wigi
 
Upvote 0
On balance I would go for a cell as well. In more critical examples I would go for the registry - most users are uncomfortable with that and less likely to tinker.
 
Upvote 0
Thanks to all of you for your very helpful insight!
Utilizing your suggestions has done the trick.

I had no idea it would be as easy as that.

Thanks again! :cool:
 
Upvote 0

Forum statistics

Threads
1,214,391
Messages
6,119,247
Members
448,879
Latest member
oksanana

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