Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA-Schaltflächen auswählen verhindern

VBA-Schaltflächen auswählen verhindern
07.09.2016 10:56:50
Lukas
Hallo,
ich habe eine Userform gestaltet. Da die Datei sehr umfassend ist, habe ich eine kleine Datei erstellt, die nur dieses eine Problem darstellt. Sie können diese hier downloaden:
https://www.herber.de/bbs/user/108062.xlsm
Das Problem:
Wenn Sie im Textfeld Enter drücken, wird Code ausgeführt. Obwohl ich im Code dann mit SetFocus das Textfeld aktiviere wird der Knopf ausgewählt. Wie kann ich das verhindern?
Ich möchte also, dass man direkt nachdem man Enter gedrückt hat weiterschreiben kann. Die Knöpfe müssen allerdings bleiben.
Danke für eure Hilfe schon im Voraus!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Schaltflächen auswählen verhindern
07.09.2016 12:23:01
MatthiasG
Hallo Lukas,
setze die "Default"-Eigenschaft des "Weiter"-Buttons auf True, dann kannst Du Dir die ganze Keypressed-Abfrage sparen:
Im UF-Modul reicht dann:

Private Sub CommandButton1_Click()
If Tabelle1.Cells(1, 1).Value = "" Then
Tabelle1.Cells(1, 1).Value = TextBox1.Text
Else
Tabelle1.Cells(Tabelle1.UsedRange.Rows.Count + 1, 1).Value = TextBox1.Text
End If
TextBox1.Text = ""
TextBox1.SetFocus
End Sub
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
Private Sub UserForm_Initialize()
TextBox1.SetFocus
End Sub
Gruß Matthias
Anzeige
AW: VBA-Schaltflächen auswählen verhindern
07.09.2016 16:20:39
Lukas
Danke für deine Antwort! In diesem Fall hilft es mir allerdings nicht weiter. In meiner großen Datei wird nämlich durch einen Enter-Druck in manchen Fällen eine weitere Userform aufgerufen. Auf dieser steht nur eine Information und es gibt einen Knopf. Wenn man diesen mit Enter bestätigt, wird sie geschlossen und man ist wieder bei der alten. Durch dieses Enter wird allerdings bei meiner 1. Userform der 2. Button ausgelöst. Gibt es eine Möglichkeit einfach zu verhindern, dass der Fokus überhaupt auf einen Button gesetzt werden kann?
Anzeige
AW: VBA-Schaltflächen auswählen verhindern
07.09.2016 20:16:31
Mullit
Hallo,
versuchs so, in Dein Form-Modul:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
   If Tabelle1.Cells(1, 1).Value = "" Then
      Tabelle1.Cells(1, 1).Value = TextBox1.Text
      TextBox1.Text = ""
   Else
      Tabelle1.Cells(Tabelle1.UsedRange.Rows.Count + 1, 1).Value = TextBox1.Text
      TextBox1.Text = ""
      Call Application.OnTime(EarliestTime:=Now, Procedure:="prcTimer")
   End If
End If
End Sub

In Dein Standardmodul:
Option Explicit

Public Sub Start()
Call UserForm1.Show
End Sub

Public Sub prcTimer()
Call UserForm1.TextBox1.SetFocus
End Sub

Gruß, Mullit
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige