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.

ToggleButton auf "permanenter" Userform
#1
Hi,

ich hatte in jedem Blatt einen ToggleButton, der, wenn man ihn gedrückt hat, bewirkt hat, dass, wenn man in eine Zelle geht, sofort im Bearbeitungsmodus ist. Hat funktioniert. Nun habe ich aus verschiedenen Gründen eine Userform erstellt, die immer sichtbar bleibt, auch wenn man das Blatt wechselt, in die ich den ToggleButton eigebaut habe. Ich kriege es mit meinen bescheidenen VBA-Kenntnissen trotz Recherchiererei nicht hin, den Code so umzubauen, dass sendkeys in der gesamten Arbeitsmappe bzw. im jew. aktiven Blatt wirksam ist. Habe schon verschiedenste Variationen versucht, sowohl in "DieseArbeitsmappe", als auch in den Klassenmodulen der einzelnen Sheets, als auch im Codefenster der Userform.

Der Ursprungscode: (also der Code, der in jedem Arbeitsblatt-Modul stand - jedes Arbeitsblatt hatte denselben ToggleButton)


Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
   If Sh.OLEObjects("ToggleButton1").Object.Caption = "Bearbeitung" Then
       On Error GoTo ChgEvent_Error
           SendKeys "{F2}"
ChgEvent_Error:
       Application.EnableEvents = True
   End If
End Sub
Antworten Top
#2
Hallöchen,

bei der modalen Geschichte heißt es doch glaube, dass man die Tabelle im Hintergrund bearbeiten kann. Daraus könnte man schließen, dass das UF noch im Vordergrund ist. Sendkeys sendet an die Anwendung im Vordergrund Sad

Probier doch mal, was passiert, wenn Du das UF am Anfang des SelectionChange hidest.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo,



' **************************************************************
'  Modul:  DieseArbeitsmappe  Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************


Option Explicit

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
   If UserForm1.ToggleButton1 Then Application.SendKeys "{F2}"
End Sub


' **************************************************************
'  Modul:  Modul1  Typ = Allgemeines Modul
' **************************************************************


Option Explicit

Sub StarteUF()
 UserForm1.Show 0
End Sub

Code eingefügt mit: Excel Code Jeanie


Es wird sicher dann die Frage kommen, wie man aus dieser Nummer wieder raus kommt: Wink
Man muss den Bearbeitungsmodus mit Esc verlassen. Nur dann kommt man wieder an den ToggleButton. Smile

Gruß Uwe
Antworten Top
#4
Und ich fürchte, das mit dem Esc wird sich schlecht vermeiden lassen...

Super, vielen Dank!
Antworten Top


Gehe zu:


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