Solved

Excel Visual Basic Code for Option Buttons

Posted on 2016-07-15
8
99 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 52

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 52

Expert Comment

by:Rgonzo1971
ID: 41712859
Could you send a dummy?
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 

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 52

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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

The Windows Phone Theme Colours is a tight, powerful, and well balanced palette. This tiny Access application makes it a snap to select and pick a value. And it doubles as an intro to implementing WithEvents, one of Access' hidden gems.
If you need to forecast numbers -- typically for finance -- the Windows and Mac versions of Excel 2016 have a basket of tools to get the job done.
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

624 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