I have a procedure, where I call a userform:

Sub NewProcedure()
UserForm1.Show

The userform pops up, and I have a series of radio buttons, and also two command buttons, OK and CANCEL. The idea is that each radio button corresponds to a different worksheet, where I intend to insert new rows, copy formulas etc. I'm just not sure how to take the radio button user input and output it to my procedure.

My UserForm1 code looks like this:

Public RC As Worksheet
Private ws As Worksheet

Private Sub OptionButton1_Click()
Set ws = Worksheets("Sheet1")
End Sub

Private Sub OptionButton2_Click()
Set ws = Worksheets("Sheet2")
End Sub

Private Sub OptionButton3_Click()
Set ws = Worksheets("Sheet3")
End Sub

Private Sub OK_Click()
Set RC = ws
Hide
End Sub

Private Sub CANCEL_Click()
Unload Me
End Sub

And then, back in the Sub procedure, I have:

Worksheets(RC).Activate

This doesn't work because it says the variable RC is not defined. But I thought that by defining RC as a Public variable over in the userform code, that RC would be recognized anywhere in the Project.

However, if I put RC into quotations, then I get a "Run-time error 9: subscript out of range".

What am I doing wrong?