2017-07-27 4 views
1

Ich habe eine Formularsteuerung mit ActiveX Radio/Optionsschaltflächen darin. Der Formularsteuerungsname ist Side und enthält Options/Optionsfelder mit den Namen xOption, oOption und randomSide. Wie könnte ich ein Makro erstellen, mit dem ich beim Öffnen des Arbeitsbuchs die Optionsfelder auf einen bestimmten Wert setzen kann? Aufnahme eines Makros von mir beim Klicken auf Optionen führt zu einem leeren Makro. Ich habe bereits versucht:So wählen Sie eine ActiveX-Option/Optionsfelder in Formularsteuerelementen

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

Aber das gibt mir eine Fehlermeldung 1004 und andere Codes geben Sie mir Fehler 91. Ich bin wirklich neu in VBA so, wenn ich dumm aussehen Sie wissen, warum.

+0

Möchten Sie beim Öffnen der Arbeitsmappe eine Option auswählen? – paulinhax

+0

@paulinhax Ja, nur eine –

Antwort

1

so etwas wie dies versuchen, mit Worksheets statt ActiveSheet:

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

Wie Sie es wollen nach dem Öffnen der Folie ausgewählt werden. Legen Sie diese auf ThisWorkbook.

+0

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

0

Sie so etwas wie dies versuchen kann ...

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

Dies gab mir einen Fehler 1004, nicht in der Lage, die OLEObjects-Eigenschaft des Arbeitsblattes Klasse –

+0

zu erhalten Da der Code auf ActiveSheet funktioniert, sind Sie sicher, dass es eine ActiveX-Optionsschaltfläche auf dem ActiveSheet? Stellen Sie außerdem sicher, dass der Name der Optionsschaltfläche identisch mit dem Code ist. – sktneer

Verwandte Themen