2017-07-27 4 views
1

J'ai un contrôle de formulaire avec ActiveX Radio/Option boutons dedans. Le nom du contrôle de formulaire est Side et contient les boutons Option/Radio avec les noms xOption, oOption et randomSide. Comment serais-je en mesure de créer une macro qui me permettrait de définir les boutons radio à une certaine valeur lors de l'ouverture du classeur. L'enregistrement d'une macro de moi en cliquant sur les options entraîne une macro vide. Je l'ai déjà essayé:Comment sélectionner une option ActiveX/boutons radio dans les contrôles de formulaire

ActiveSheet.Shapes.Range(Array("Side")).Select 
ActiveSheet.Shapes.Range("xOption").OLEFormat.Object.Value = 1 

Mais cela me donne l'erreur 1004 et d'autres codes me donne l'erreur 91. Je suis vraiment nouveau VBA si je regarde stupide tu sais pourquoi.

+0

Voulez-vous qu'une option soit sélectionnée lorsque vous ouvrez le classeur? – paulinhax

+0

@paulinhax Oui, un seul –

Répondre

1

Essayez quelque chose comme ça, en utilisant Worksheets au lieu de ActiveSheet:

Private Sub Workbook_Open() 
    Worksheets("your sheet name here").OLEObjects("xOption").Object.Value = 1 
End Sub 

Comme vous voulez qu'il soit sélectionné après l'ouverture de la feuille. Placez-le sur ThisWorkbook.

+0

Voir aussi [this] (https://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/11274/always-define-and-set-references-to-all-workbooks-and-sheets # t = 201707271939591786196). – paulinhax

0

Vous pouvez essayer quelque chose comme ça ...

ActiveSheet.OLEObjects("xOption").Object.Value = 1 
+0

Cela m'a donné une erreur 1004, impossible d'obtenir la propriété OLEObjects de la feuille de calcul Classe –

+0

Étant donné que le code fonctionnera sur ActiveSheet, êtes-vous sûr qu'il existe un bouton d'option ActiveX sur ActiveSheet? Assurez-vous également que le nom du bouton d'option est le même que celui utilisé dans le code. – sktneer