Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[VBA] ActiveX Steuerelemente bei Workbook_Open betätigen
#1
Lightbulb 
Hallo Liebe clever-excel-Community,

Ich bin neu hier und auch noch ein Einsteiger in VBA mit Excel.
Zurzeit arbeite ich an einem Projekt, bei dem ich an einer Stelle nicht weiterkomme.
Ich schildere euch mal mein Problem bzw. meine Frage:

Ich habe diverse ActiveX-Steuerelemten platziert und programmiert. Jedoch möchte ich, dass einige vorausgewählt sind. Bzw nicht vorausgewählt, sondern beispielsweise diverse OptionButtons beim Öffnen der Excel Datei ge"clickt" werden, um die OptionButton_Click() Function aufzurufen.

Nun meine Frage: Wie muss ich beispielsweise den Befehl "opt500_Click()" in meine "Private Sub Workbook_Open()" einfügen, damit beim Start von Excel dieser Button geclickt wird.

LG.
Antworten Top
#2
Hallo,

Zitat:Nun meine Frage: Wie muss ich beispielsweise den Befehl "opt500_Click()" in meine "Private Sub Workbook_Open()" einfügen, damit beim Start von Excel dieser Button geclickt wird.

... ich habe keine Ahnung, ob ich richtig verstanden habe, was Du willst.

Da Du Dich ja mit VBA beschäftigst, mal einen Schuß in's Blaue:
1. gibt es die Möglichkeit, mit IF-Abfragen zu arbeiten
2. gibt es ferner die Möglichkeit, mit Select Case
3. könnte man mit Globalen Variablen einen festen Anfangswert festlegen
4. Arbeiten mit CheckBoxen wäre vielleicht auch eine Möglichkeit
5. ...all dies macht aber den Einsatz von einzelnen Buttons (die nach Deinen
Angaben bereits im Workbook_Open-Ereignis ) schon als geklickt angegeben
werden, höchst überflüssig.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#3
(11.10.2018, 13:24)Käpt\n Blaubär schrieb: ... ich habe keine Ahnung, ob ich richtig verstanden habe, was Du willst.
[...]
3. könnte man mit Globalen Variablen einen festen Anfangswert festlegen

Mein Wunsch: Beim Öffnen der Arbeitsmappe werden diverse OptionButtons ge"clickt".

Ich brauche allerdings keine Anfangswerte. Ich möchte, dass er die wirklich "clickt", damit die Funktion dahinter durchgeführt wird. Wenn es nur den Anfangwert gäbe, oder ich ggf. nur den Wert ändern würde, dann würde ja nicht der Click() Befehl sondern der Change() Befehl aktiviert, den ich nicht programmiert habe oder?
Antworten Top
#4
Hallo,

dann rufe im Workbook_Open-Ereignis die Buttons nacheinander ab
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
Bei mir steht nun folgendes im ThisWorkbook:

Code:
Private Sub Workbook_Open()

opt500_Click

End Sub


Er gibt mir beim Öffnen der Arbeitsmappe bzw. von Excel folgendes zurück:



"Fehler beim Kompilieren:

Sub oder Function nicht definiert"



Der OptionsButton bzw. der "Private Sub opt500_Click()" wird im Worksheet("Tabelle1") beschrieben.

Fehlt mir da eine Verlinkung bzw ein Verweis auf das Worksheet, da "Sub opt500_Click()" Private ist?

LG
Antworten Top
#6
Edit:

Folgendes funktioniert auch nicht: (auch, wenn es keine Fehlermeldung gibt)

Code:
Private Sub Workbook_Open()

Call Worksheets("Tabelle1").opt500_Click
Call Worksheets("Tabelle1").optgeschlossen_Click
Call Worksheets("Tabelle1").optALLno_Click
Call Worksheets("Tabelle1").optWZno_Click
Call Worksheets("Tabelle1").optDZWno_Click
Call Worksheets("Tabelle1").chkStando_Click
Call Worksheets("Tabelle1").chkStandu_Click


Und während es bei den Textfeldern funktioniert (z.B. txtXL), funktioniert es hier auch mit opt500_Click nicht:

Code:
With Worksheets("Tabelle1")
   .opt500_Click
   .txtXL.Value = 1
   
   .nkbtxt.Value = 6
   .nvbtxt.Value = 1
   .nvbtxt.Value = 0
   
   .txtWellenende.Value = 5
   .chkStando_Click
   .chkStandu_Click
   
End With
Antworten Top
#7
Für alle, die es interessiert und evtl. ähnliches Problem haben:
Der folgende Code führt genau das aus, was ich verlange:



Code:
With Worksheets("Tabelle1")
   
   .txtXL.Value = 1
   
   .nkbtxt.Value = 6
   .nvbtxt.Value = 1
   .nvbtxt.Value = 0
   
   .txtWellenende.Value = 5
   .chkStando.Value = True
   .chkStandu.Value = True
   
   .opt500.Value = True
   .optgeschlossen.Value = True
   .optALLno.Value = True
   .optWZno.Value = True
   .optDZWno.Value = True
   .chkStando.Value = True
   .chkStandu.Value = True


End With


Wider meiner Erwartungen entspricht die Änderung des Values eines OptionButtons auf "true" einem "OptionButton_Click".
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste