Microsoft Excel

Herbers Excel/VBA-Archiv

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

Aktives Arbeitsblatt ohne Mausklick erkennen | Herbers Excel-Forum


Betrifft: Aktives Arbeitsblatt ohne Mausklick erkennen von: Tim
Geschrieben am: 23.07.2012 12:26:35

Hallo,

ich habe eine UserForm, die sich beim Öffnen einer Tabelle automatisch mit öffnet und während der Arbeit in der Tabelle geöffnet bleibt.

In der UserForm befindet sich eine TextBox, in die ich den Cursor mit SetFocus setze.

Das klappt alles gut, verlasse ich jedoch die (weiterhin geöffnete) Tabelle, gehe z.B. auf eine Internetseite etc. und kehre dann zur Tabelle zurück, dann blinkt der Cursor nicht mehr in der TextBox und ich muss erst mit der Maus dorthin klicken, um wieder in der TextBox schreiben zu können.

Nun meine Frage, gibt es eine Möglichkeit, dass ein Blatt in einer Tabelle (bei mir Blatt7) auch ohne Mausklick als aktiv erkannt wird, z.B. anhand der aktuellen Mausposition etc. ?

VG und vielen Dank im Voraus für jeden Tipp !
Tim

  

Betrifft: Tim , was soll das?? von: Matze,Matthias
Geschrieben am: 23.07.2012 13:23:01

Hallo Tim,
das ist nun dein 3ter Beitrag zum Themen deiner Arbeitsmappe,
Hajo ,ich und Gerd L. haben dir doch schon so einiges geantwortet im Bezug darauf, das du und deine
Codezeilen und Mappe , bzw eine Musterdatei nicht zeigst.Gut inzwischen hast du ja schon was eingestellt.

Zu deiner jetzigen Frage: Hajo´s Antwort war ,wenn die "Tabelle" aktiviert wird , soll er den Curser focus setzen.
Hast du das gemacht??? ich glaube nicht.

Private Sub Worksheet_Activate()
With UserForm6
.TextBox1.SetFocus
End With
End Sub
Von Gerd war:
Sub ShowUserForm6()
UserForm6.ComboBox61.ListIndex = 0
UserForm6.Show
UserForm6.TextBox1.SetFocus
End Sub Gruß Matze


  

Betrifft: AW: Tim , was soll das?? von: Tim
Geschrieben am: 23.07.2012 14:06:58

Hallo Matthias,

Du hast nicht richtig gelesen, ich habe SetFocus sogar in Fettschrift erwähnt.

Die Frage ist nicht dieselbe wie vorher, sondern ein weiterer Schritt.

1) Zunächst ging es um das Setzen des Cursors allgemein - das ist geklärt.
2) Dann ging es darum, den Cursor zu setzen, wenn man von einem Blatt der Tabelle zu einem anderen wechselt - auch das ist geklärt.

3) Die letzte Frage ist nun, wie man den Cursor setzt, wenn man die Tabelle ganz verlässt und z.B. eine Internetseite besucht etc. und dann wieder zur Tabelle zurückkehrt - hierzu such ich noch nach einer Lösung.

VG, Tim


  

Betrifft: AW: Tim , was soll das?? von: JoWe
Geschrieben am: 23.07.2012 20:15:00

Hallo,
setze die ShowModal-Eigenschaft der UserForm auf true....
Gruß
Jochen


  

Betrifft: AW: kein Unterschied... von: Tim
Geschrieben am: 23.07.2012 20:35:58

Hallo Jochen,

vielen Dank für Deine Antwort !
Das hatte ich schon gemacht, es bewirkt aber keinen Unterschied.

Hast Du vielleicht noch eine andere Idee dazu ?

VG,
Tim


  

Betrifft: AW: kein Unterschied... von: Ramses
Geschrieben am: 24.07.2012 22:49:58

Hallo

Das müsste aber eigentlich schon funktionieren

Private Sub Worksheet_Activate()
With UserForm6
   .TextBox1.SetFocus
End With
End Sub
Steht der Code in "Diese Arbeitsmappe" ?
Wenn du EXCEL verlässt um ein anderes Programm zu bedienen und anschliessend wieder EXCEL aktivierst (da kommt es dann auch noch drauf an wie z.B. mit "Ctrl"+"Tab", dann ist noch NICHT das Workbook aktiviert und das Ereignis wird natürlich nciht ausgelöst.
Klick mal in die Tabelle, dann sollte eigentlich auch die Userform.Textbox den Focus wieder erhalten.

Gruss Rainer


  

Betrifft: AW: kein Unterschied... von: Tim
Geschrieben am: 24.07.2012 23:38:29

Hallo Rainer,

vielen Dank !

Soll der Code tatsächlich in der Arbeitsmappe stehen ? Nicht im Blatt, obwohl er nur ein bestimmtes Blatt betrifft ?

VG,
Tim


  

Betrifft: AW: kein Unterschied... von: Hajo_Zi
Geschrieben am: 25.07.2012 18:12:25

Hallo Tim

woher kommt die Erkenntnis das es unter DieseArbeitsmappe soll?

Gruß Hajo


  

Betrifft: AW: kein Unterschied... von: Tim
Geschrieben am: 25.07.2012 18:29:48

Hallo Hajo,

das stand in der Antwort von Rainer - ich habe es momentan im Blatt stehen:

Steht der Code in "Diese Arbeitsmappe" ?
VG,
Tim


  

Betrifft: AW: kein Unterschied... von: Hajo_Zi
Geschrieben am: 25.07.2012 18:31:49

Hallo Tim,

dann ist es doch die richtige Stelle.
Es war nicht die Rede von Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Gruß Hajo


  

Betrifft: AW: kein Unterschied... von: Tim
Geschrieben am: 25.07.2012 18:45:16

Danke, Hajo !

Müsste es aber nicht etwas sein, dass sich auf die ganze Arbeitsmappe bezieht, da ich ja erstmal nicht das Blatt, sondern die Arbeitsmappe anklicke, wenn ich von einem anderen Programm zurück in Excel wechsle ?

VG,
Tim


  

Betrifft: AW: kein Unterschied... von: Hajo_Zi
Geschrieben am: 29.07.2012 10:11:43

Hallo Tim,

dazu kann ich nichts schreiben. Ich habe mich nur auf den Code von Rainer bezogen und nicht auf die Auifgabe die irgendwo weiter vorne Stand und die ich nicht gesehen habe als ich Deinen Beitrag beantwortert habe.

Gruß Hajo


Beiträge aus den Excel-Beispielen zum Thema "Aktives Arbeitsblatt ohne Mausklick erkennen"