Solved

Excel Visual Basic Code for Option Buttons

Posted on 2016-07-15
8
86 Views
Last Modified: 2016-07-15
Hello,

I have a very simple excel spreadsheet in which I have two option buttons captioned "Yes" and "No". I have tried to create some VB code so that based upon which button is initially selected, a macro button will perform a specified task when pressed. The code is very basic and listed below.

Private Sub OptionButtonYes_Click()

Sheets("Control").Select
If OptionButtonYes.Value = True Then
    Call GBP_ALPHA_ROLL
End If

End Sub

When I try to run it I keep getting the error message:

Run-time error '424':

Object Required

I have tried to fix this myself but have not been able to. Could you please assist?

Thanks.
0
Comment
Question by:f19l
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 51

Expert Comment

by:Rgonzo1971
ID: 41712847
Hi,

pls try with the name of the control

 If ActiveSheet.Shapes("Option Button Yes").ControlFormat.Value = 0  Then ' 0 IS checked, unchecked -4146

Open in new window

Or you could link a cell for an easier way

Regards
0
 

Author Comment

by:f19l
ID: 41712856
I used your code and I have got the following message:

Run-time error '438':

Object doesn't support this property or method.
0
 
LVL 51

Expert Comment

by:Rgonzo1971
ID: 41712859
Could you send a dummy?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:f19l
ID: 41712883
You mean a file? I have attached a very simple file that essentially does what I want.

1) Press the RUN macro button
2) If the "YES" option button is selected a task is performed.
3) If "NO" option button is selected then no task is performed.
TEST.xlsm
0
 
LVL 51

Accepted Solution

by:
Rgonzo1971 earned 500 total points
ID: 41712900
Hi,

pls try

Private Sub OptionButtonYes_Click()

 Sheets("Control").Select
 If Sheets("Sheet1").OptionButtonYes.Value = True Then 'change sheet to your code
     Call GBP_ALPHA_ROLL
 End If

 End Sub

Open in new window

0
 
LVL 31

Expert Comment

by:Subodh Tiwari (Neeraj)
ID: 41712914
There is nothing wrong in your original code.

You have an option button from the ActiveX controls not from Form controls, so code suggested by Rgonzo won't work for you.

The following simple code works for me.

Private Sub CommandButton1_Click()
If OptionButtonYes Then
   MsgBox "Yes"
End If
End Sub

Open in new window


If that doesn't work for you that means controls are disabled.

You can test it by this simple code...

Private Sub CommandButton1_Click()
MsgBox "Yes"
End Sub

Open in new window


If that code also doesn't work for you, you will need to fix this issue. To fix this, close all your excel files --> from the control panel, Folder Options, make sure the Show all the hidden files and folder is checked --> now search your system drive for *.exd fiels and delete all the files you get from search result. --> Reboot your system --> Open a blank workbook --> Insert a new command button (activex control) on the sheet and place a simple code for the click event and see if that works for you now.
0
 

Author Comment

by:f19l
ID: 41712924
Actually, using Rgonzo's code works for me. Thanks anyway for your suggestion.
0
 
LVL 31

Expert Comment

by:Subodh Tiwari (Neeraj)
ID: 41712928
I was referring to his first suggested code in the post ID: 41712847. :)
When I was typing, Rgonzo posted his tweaked code so couldn't see it. :)
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question