Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MultiPage
BildScreenshot zu MultiPage MultiPage-Seite mit Beispielarbeitsmappe aufrufen

Buttons durchschalten per VBA | Herbers Excel-Forum


Betrifft: Buttons durchschalten per VBA von: Marco
Geschrieben am: 15.02.2012 10:57:56

Hi zusammen,

ich hab hier nur ein kleines Problem. Ein Button in meiner Maske schaltet nach einer Eingabe die komplette Maske frei.

Nun zum Problem. Am Anfang soll der "Startbutton" per Enterklick ausgelöst werden können, wenn dann alle Elemente freigeschaltet sind, soll der "Speichern" Button per Enterklick ausgelöst werden können.

mit uf_ini: me.startbutton.default=true
bei startbutton_klick:
me.startbutton.default=false
me.speichernbutton.default= true

springt der Cursor nicht automatisch weiter.

Kann einer helfen wie ich es lösen kann. Bitte ohne einmal die Tabtaste zu drücken um den nächten Tabindex anzusteuern.

Gruß
Marco

  

Betrifft: evtl. -> me.speichernbutton.SetFocus kwT von: Matthias L
Geschrieben am: 15.02.2012 11:06:18




  

Betrifft: AW: evtl. -> me.speichernbutton.SetFocus kwT von: Marco
Geschrieben am: 15.02.2012 13:07:55

Hab ich auch schon versucht.
geht leider nicht. mit der fehlermeldung, das dieser befehl nicht für alle steuerelemente zulässig ist.


  

Betrifft: AW: evtl. -> me.speichernbutton.SetFocus kwT von: fcs
Geschrieben am: 15.02.2012 13:18:16

Hallo Marco,

wenn SetFocus nicht funktioniert, dann hast du wahrscheinlich den Commandbutton innerhalb eines Rahmenelements plaziert.

Gib dem Commandbutton innerhalb des Rahmens den TabIndex 0 und setze den Focus auf das Rahmenelement, um den Commandbutton zum aktiven Element zu machen.

Gruß
Franz


  

Betrifft: AW: evtl. -> me.speichernbutton.SetFocus kwT von: Marco
Geschrieben am: 15.02.2012 13:55:41

Hi Franz,

es sind beide in einer Mulitibox eingebunden. Der erste Button mit Tabindex 0 wird auch korrekt mit Enter aktiviert. Nur der Wechsel zu einem anderen Button bekomme ich nicht hin.


  

Betrifft: Userform Focus setzen in Frame bzw. Multipage von: fcs
Geschrieben am: 15.02.2012 23:37:26

Hallo Marco,

was soll "Multibox" für ein Steuerelement sein? Ich kenne das nicht - ich Multipage-Steuerelemente.

Wenn du auf andere Steuerelemente innerhalb eines Frame-Elements den Focus setzen willst, dann geht das nur indem du entsprechende TAB-Tastenbefehler per Makro sendest.
Codebeispiel:

Private Sub CommandButton1_Click()
  'bei Mausklick und ENTER auf Button innerhalb eines Frame-Steuerelements
  'Tabindex des Ziel-Steuerelements ist größer als der des Start-Steuerelements
  Application.SendKeys "{Tab}{Tab}" '2 mal TAB-Taste
End Sub
Ansonsten sollte man das Frame-Steuerelement nur zum Gruppieren von Options-Schaltflächen verwenden, wenn man für andere Steuerelemente den Focus direkt setzen möchte.

Wenn du in einem Multipage-Steuerelement den Focus auf ein Element auf einer anderen Seite setzen willst, dann muss du zunächst den Wert der Multipage auf diese Seite setzen, dann den Focus auf das gewünschte Seuerelement.
Beispiel:
Private Sub CommandButton8_Click()
  'von Commandbutton8 auf "Page1" des Multipage-Steuerelements den Fokus auf _
        den "Commandbutton6" auf "Page2" setzen
  Me.MultiPage1.Value = Me.MultiPage1.Pages("Page2").Index ' oder: = 1
  Me.CommandButton6.SetFocus
End Sub

Gruß
Franz


Beiträge aus den Excel-Beispielen zum Thema "Buttons durchschalten per VBA"