Remember last selection?

A

Alen32

I have this code where user choose one of nine option button. I want my
program to remember last selection.
here is code:
Private Sub CommandButton1_Click()

Worksheets("Ark1").Activate
Range("A1").Select

With UserForm1
If .OptionButton1 Then sOne = "1"
If .OptionButton2 Then sOne = "2"
If .OptionButton3 Then sOne = "3"
If .OptionButton4 Then sTwo = "1"
If .OptionButton5 Then sTwo = "2"
If .OptionButton6 Then sTwo = "3"
If .OptionButton7 Then sThree = "1"
If .OptionButton8 Then sThree = "2"
If .OptionButton9 Then sThree = "3"

End With
With ActiveCell
Offset(0, 0).Value = sOne
Offset(1, 0).Value = sTwo
Offset(2, 0).Value = sThree


End With
End Sub
 
J

Jim Rech

Since you've written the option button values to a sheet you just need to
set those option buttons from those values in the userform's Initialize
event.

Also, it's not necessary (or user friendly) to change selected cell in a
workbook just to write values to the sheet. See the following:

Private Sub CommandButton1_Click()
With UserForm1
If .OptionButton1 Then sOne = 1
If .OptionButton2 Then sOne = 2
If .OptionButton3 Then sOne = 3
If .OptionButton4 Then sTwo = 1
If .OptionButton5 Then sTwo = 2
If .OptionButton6 Then sTwo = 3
If .OptionButton7 Then sThree = 1
If .OptionButton8 Then sThree = 2
If .OptionButton9 Then sThree = 3
End With
With Worksheets("Ark1").Range("A1")
.Offset(0).Value = sOne
.Offset(1).Value = sTwo
.Offset(2).Value = sThree
End With
End Sub
 
A

Alen32

I want when I start my userform next time like I made selection last time.
that means if I choosed optionbutton3 last time so when I start userform
next time so optionbutton is set to true.
 
B

Bob Phillips

Reverse the code

Private Sub Userform_Initialize()
With Worksheets("Ark1").Range("A1")
sOne. = Offset(0).Value
sTwo = .Offset(1).Value
sThree = .Offset(2).Value
End With

With UserForm1
If sOne =1 Then
.OptionButton1.Value = True
ElseIf sOne = 2 Then
.OptionButton2.Value = True
Else
.OptionButton3.Value = True
End If
If sTwo=1 Then
.OptionButton4.Value = True
ElseIf sTwo= 2 Then
.OptionButton5.Value = True
Else
.OptionButton6.Value = True
End If
If sThree =1 Then
.OptionButton7.Value = True
ElseIf sThree = 2 Then
.OptionButton8.Value = True
Else
.OptionButton9.Value = True
End If


End With
End Sub



--

HTH

RP
(remove nothere from the email address if mailing direct)
 

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

Similar Threads


Top