Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Userform bei Klicken in eine Zelle

Betrifft: Userform bei Klicken in eine Zelle von: HannesStein
Geschrieben am: 24.10.2020 13:49:57

Hallo

Mein Problem betrifft den Aufruf der Userform. Sobald der Anwender etwas in Zelle B3 schreiben will, also in die Zelle hinein klickt, soll er automatisch in die Textbox schreiben. Wie kann der Aufruf der Userform aussehen?

Ausgangssituation: ich habe eine Userform mit einer Textbox und einem OK-Button. Mit "OK" soll in die aktive Zelle was eingetragen werden, abhängig davon, was der Anwender in die Textbox schreibt. Was und wie ist hier nebensächlich. Es ist jedenfalls umfassender als in dieser Beispieldatei: https://www.herber.de/bbs/user/141054.xlsm. Mir geht es um einen geeigneten Aufruf der Userform. Einen Klick in die Zelle-Event habe ich nicht gefunden.

Gruss, Hannes


Betrifft: AW: Userform bei Klicken in eine Zelle
von: Regina Resch-Jansen
Geschrieben am: 24.10.2020 13:58:36

Hi, das könnte man wohl über den Selection_Change-Event lösen.

Gruß Regina

Betrifft: AW: Userform bei Klicken in eine Zelle
von: HannesStein
Geschrieben am: 24.10.2020 15:09:13

Hallo
das ging aber schnell. Danke für Eure Antworten.
Leider, Selection_Change rührt sich nicht, wenn man in die Zelle hineinklickt, wenn diese bereits die aktive Zelle ist, wird aber aktiviert, wenn man die Selection auf diese Zelle setzt. Ich wollte aber einen Aufruf für das "Hineinklicken", also wenn dann der Cursor in der Zelle blinkt. Vielleicht gibt es dafür einen treffenderen Ausdruck.

Dem kommt der BeforeDoubleClick-Event am nächsten. Den kannte ich bereits, nur wollte es mit einem Klick. Danke, volti Karl-Heinz. Doppelklick ist auch gut.

Dazu noch Zusatzfrage zu Karl-Heinz' Makro: Welche Bedeutung hat in diesem Zusammenhang "Cancel = True"? Das ist immer wieder in Codes zu sehen. Nur, den Hintergrund dazu konnte ich noch nicht entdecken.

Und noch eine Zusatzfrage, wenn hier schon die Stars des Forums so nett zusammensitzen:

Gibt es ein Event, das auf laufende Eingabe in eine Zelle reagiert? So wie ein Sub TextBox1_Change() in einer Userform? Das reagiert nämlich auf jede Buchstabeneingabe in der Textbox. Und sowas wäre auch für Zellen in einem Worksheet praktisch.

Gruss, Hannes

Betrifft: AW: Userform bei Klicken in eine Zelle
von: Nepumuk
Geschrieben am: 24.10.2020 15:12:51

Hallo Hannes,

der Doppelklick in eine Zelle aktiviert den Editiermodus. Das wird durch Cancel unterdrückt.

Gibt es ein Event, das auf laufende Eingabe in eine Zelle reagiert?

Nein.

Gruß
Nepumuk

Betrifft: AW: Userform bei Klicken in eine Zelle
von: HannesStein
Geschrieben am: 24.10.2020 18:34:04

"Der Editiermodus wird durch Cancel unterdrückt."
Aah, ooh. Achso deshalb. Jetzt wird mir einiges klar. Dies und viel mehr.

Und schade, dass es den nicht gibt. Gut zu wissen.

Danke Nepumuk, und vielen Dank auch den anderen. Ihr habt mir sehr geholfen.

Gruss, Hannes

Betrifft: AW: Userform bei Klicken in eine Zelle
von: Hajo_Zi
Geschrieben am: 24.10.2020 13:59:32

Hallo Hannes,

http://hajo-excel.de/gepackt/vba/userform_bei_zelle.zip

Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link

GrußformelHomepage

Betrifft: AW: Userform bei Klicken in eine Zelle
von: Nepumuk
Geschrieben am: 24.10.2020 14:04:15

Hallo Hannes,

Rechtsklick auf den Tabellenreiter - Code anzeigen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$B$3" Then Call UserForm2.Show
End Sub

Gruß
Nepumuk

Betrifft: AW: Userform bei Klicken in eine Zelle
von: volti
Geschrieben am: 24.10.2020 14:04:16

Hallo Hannes,

hierfür kannst Du eines der beiden Events nutzen. Der Code gehört dann in das Tabellenklassenmodul.

Das Selection-Change-Event ruft die UF bei jeder Aktivierung auf, das Doppelclick-Event nur nach Doppelclick.

Code:
[Cc]
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$B$3" Then UserForm2.Show Cancel = True End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$B$3" Then UserForm2.Show End Sub
 
______
Gruß 😊
Karl-Heinz


Beiträge aus dem Excel-Forum zum Thema "Userform bei Klicken in eine Zelle"