Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mausrad

Mausrad
20.02.2022 00:22:51
Kai
Hallo ich noch mal kit einer Frage
ich würde gerne bestimmte Tabellen Blätter sperren und nur die nicht gesperrte Zeille zu lassen mit einer bestimmten TAB reihenfolge.
Zeitgleich sollen bestimmte Tabellen Blätter das Mausrad deaktiviert werden.
Wie kann man das bewerkstelligen in VBA Code pro Tabellenblatt?
LG
Kai

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mausrad
20.02.2022 00:54:40
udo
Hallo Kai, keine Ahnung ob dir bekannt ist dass ...
zum Einen kannst du alle Zellen markieren zunächst allen über Eigenschaften ( Zellen Formatieren ) den Schutz zu weisen
, abschließend deine spez. Zellen selektieren für die der Blattschutz nicht gelten soll, diese dann wieder über Eigenschaften entspr. ohne Schutz deklarieren, und zum Schluss eben dann das Blatt schützen per Blattschutz ( mit oder ohne Passwort ), damit hast du dann schon mal den Effekt dass man auf dem jew. TAB Blatt nur die bestimmten Bereiche auswählen kann, wenn du beim Setzen des Blattschutzes auch noch angibst, das gesperrte Zellen nicht selektiert werden können, dann hast du dadurch die Möglichkeit per TAB Taste / Shift TAB zwischen den freigegebenen Zellen durchzuspringen ....
Das das Scrollen verhindert wird gibt es ebenfalls eine Möglichkeit ( unabhängig ob du die Scrollleisten eingeblendet lässt oder nicht ) gehst im VBA Editor auf dein gewünschtes TAB Blatt und wählst es dort an, dann im Eigenschaftsfenster ( im Editor gibt es ein Parameter "ScrollArea" , dort kannst du den Scrollbereich angeben
nach deinen Vorstellungen, damit ist das Blatt für diesen Bereich hart fixiert, egal welche Fensterfixierung usw du auch immer drin hättest, Solltest du z.B. in einer normalen TAB z.B. A1:B2 angeben, kannst du sehr wahrscheinlich an deinen Schiebern deines TAB ( horizontal wie vertikal ) nicht mehr schieben da es hart fixiert ist für den angegebenen Bereich, sowie Zellen auswählen auch nur noch dort geht, einziges Manko dabei, soweit mir bekannt kannst du dort aber nur einen zusammenhängenden Zellenbereich definieren ... lass mich da aber auch gerne eines Besseren belehren ...
Damit kannst du also schon mal einige deiner Wünsche realisieren
Schönen Abend
Udo
Anzeige
AW: Mausrad
20.02.2022 09:27:36
volti
Hallo Kai,
unter Beachtung von Udo's umfangreichen, vielleicht schon ausreichende, Ausführungen und in Ergänzung zu Deiner Frage zum Mausrad:
Das Mausrad lässt sich m.E. nur über die API abschalten. Hier mal eine Möglichkeit, falls das mal irgendwo gebraucht werden sollte:
Code:

[Cc][+][-]

' ############ In ein Modul ############# Option Explicit Private Declare PtrSafe Function SetWindowsHookExA Lib "user32" ( _ ByVal idHook As Long, ByVal lpfn As LongPtr, _ ByVal hmod As LongPtr, ByVal dwThreadId As Long) As LongPtr Private Declare PtrSafe Function CallNextHookEx Lib "user32" ( _ ByVal hHook As LongPtr, ByVal nCode As Long, _ ByVal wParam As LongPtr, lParam As Any) As LongPtr Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" ( _ ByVal hHook As LongPtr) As Long Dim hHook As LongPtr Private Const WH_MOUSE_LL = 14 Private Const WM_MOUSEWHEEL = &H20A Private Const WM_MBUTTONDOWN = &H207 Private Const WM_MBUTTONUP = &H208 Sub MausRadAn() UnhookWindowsHookEx hHook: hHook = 0 End Sub Sub MausRadAus() ' Baut den Mousehook auf If hHook <> 0 Then Exit Sub hHook = SetWindowsHookExA(WH_MOUSE_LL, AddressOf MouseProc, _ Application.HinstancePtr, 0) End Sub Private Function MouseProc(ByVal nCode As Long, ByVal wParam As LongPtr, _ lParam As LongPtr) As LongPtr ' Fängt Mausrad und MittelButton ab If nCode = 0 Then ' HC_ACTION Select Case wParam Case WM_MOUSEWHEEL, WM_MBUTTONDOWN, WM_MBUTTONUP MouseProc = 1: Exit Function End Select End If MouseProc = CallNextHookEx(0, nCode, wParam, ByVal lParam) End Function '########### In das Tabellenmodul ############# Private Sub Worksheet_Activate() Call MausRadAus End Sub Private Sub Worksheet_Deactivate() Call MausRadAn End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
Prima, das nutze ich gerne auch mal ;-)
20.02.2022 11:41:52
udo
Guten Morgen Karl Heinz,
herzl. Dank für deinen Tipp, das werd ich mir auch mal gerne speichern
laue Brise ;-)
Udo
AW: Prima, das nutze ich gerne auch mal ;-)
20.02.2022 11:48:28
volti
Gerne Udo,
wenn's gefällt. Und vielen Dank für Deine Rückmeldung.
Gruß KH
AW: Mausrad
20.02.2022 19:35:27
Kai
Hallo KH,
he he es funkt super mega gut ...
Danke für den CODE ...
LG
KAi
AW: Mausrad
20.02.2022 19:43:00
volti
Vielen Dank für die Rückmeldung Kai.
Wie ich sehe, übst Du ja die gleiche Tätigkeit aus, deren Beruf ich auch mal gelernt hatte. :-)
Und kommst auch noch noch aus der Stadt, in der ich auch schon gewohnt und jahrzehntelang gearbeitet habe.
Wenn man sich da nicht helfen muss.....
Gruß
Karl-Heinz
Anzeige
AW: Mausrad
26.02.2022 13:56:34
Kai
Hallo Karl-Heinz,
na ja ob das ausüben ist, stellt sich in Frage :-D
Ich mache die ganze Sache als Projektleiter; muss aber auch mal den anderen Monteuern zegen wie es richtig funktioniert :-D
Ui Ui
na vermutlich kennen wir uns auch noch "Hmmmmmm"
Seit wann bist dann weg aus dem "SCHÖNEN" Frankfurt ?
Und ja was machst jetzt so ?
LG
Kai

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige