ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   UserForm remembering Settings (https://www.excelbanter.com/excel-programming/280823-userform-remembering-settings.html)

jason

UserForm remembering Settings
 
Is it possible for a checkbox on a userform to be saved in the last
setting that the user left it in, when the user closes and saves the
workbook - without using any worksheet cells.

Serge[_5_]

UserForm remembering Settings
 
I am no MVP, but I'd say no. I would create
hidden "settings" worksheet and store user settings there.

-----Original Message-----
Is it possible for a checkbox on a userform to be saved

in the last
setting that the user left it in, when the user closes

and saves the
workbook - without using any worksheet cells.
.


Chip Pearson

UserForm remembering Settings
 
Jason,

The setting would have to be stored somewhere, such as in a worksheet cell,
a defined name, or in the system registry. You can use SaveSetting to store
the check box state in the registry when the form is closed, and then use
GetSetting to retrieve the setting when the form is initialized. For
example,

Private Sub UserForm_Initialize()
Me.CheckBox1.Value = CBool(GetSetting("AppName", "Setup", _
"CheckBox1State", "False"))
End Sub

Private Sub UserForm_Terminate()
SaveSetting "AppName", "Setup", "CheckBox1State", _
Format(Me.CheckBox1.Value)
End Sub


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"jason" wrote in message
om...
Is it possible for a checkbox on a userform to be saved in the last
setting that the user left it in, when the user closes and saves the
workbook - without using any worksheet cells.




keepITcool

UserForm remembering Settings
 

you'll have to use the registry using SaveSettings/GetSettings
or else you can easily store an array of values in a hidden name object

Sub Store()
Dim v
v = Array(1, "john", True)
ActiveWorkbook.Names.Add "myhiddensettings", v, False
End Sub



keepITcool

< email : keepitcool chello nl (with @ and .)
< homepage: http://members.chello.nl/keepitcool


(jason) wrote:

Is it possible for a checkbox on a userform to be saved in the last
setting that the user left it in, when the user closes and saves the
workbook - without using any worksheet cells.



jason

UserForm remembering Settings
 
Cheers KIC

like your style - hidden named range

J

keepitcool wrote in message . ..
you'll have to use the registry using SaveSettings/GetSettings
or else you can easily store an array of values in a hidden name object

Sub Store()
Dim v
v = Array(1, "john", True)
ActiveWorkbook.Names.Add "myhiddensettings", v, False
End Sub



keepITcool

< email : keepitcool chello nl (with @ and .)
< homepage: http://members.chello.nl/keepitcool


(jason) wrote:

Is it possible for a checkbox on a userform to be saved in the last
setting that the user left it in, when the user closes and saves the
workbook - without using any worksheet cells.


jason

UserForm remembering Settings
 
KIC

If I use this code:

Sub Store()

Dim v

v = Array(True, False, True)
ActiveWorkbook.Names.Add "XXX", v, False

End Sub

then what code do I use to extract say the second entry in the array
(the False entry) ?

Jason


keepitcool wrote in message . ..
you'll have to use the registry using SaveSettings/GetSettings
or else you can easily store an array of values in a hidden name object

Sub Store()
Dim v
v = Array(1, "john", True)
ActiveWorkbook.Names.Add "myhiddensettings", v, False
End Sub



keepITcool

< email : keepitcool chello nl (with @ and .)
< homepage: http://members.chello.nl/keepitcool


(jason) wrote:

Is it possible for a checkbox on a userform to be saved in the last
setting that the user left it in, when the user closes and saves the
workbook - without using any worksheet cells.


keepITcool

UserForm remembering Settings
 
Jason, try:

Sub ReStore()
Dim v
v = Evaluate(ActiveWorkbook.Names("XXX").RefersTo)
msgbox "second entry is:" & v(2)
End Sub

pls note that Evaluate returns a 1based array!

keepITcool

< email : keepitcool chello nl (with @ and .)
< homepage: http://members.chello.nl/keepitcool


(jason) wrote:

KIC

If I use this code:

Sub Store()

Dim v

v = Array(True, False, True)
ActiveWorkbook.Names.Add "XXX", v, False

End Sub

then what code do I use to extract say the second entry in the array
(the False entry) ?

Jason




All times are GMT +1. The time now is 03:23 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com