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

Excel mit Stifteingabe

Forumthread: Excel mit Stifteingabe

Excel mit Stifteingabe
19.01.2025 09:53:15
UdPa
Hallo Excelexperten

Ich habe ein Tabellenblatt das mit einem Blattschutz versehen ist, es sind nur bestimmte Felder vom Schutz ausgenommen.
Leider funktioniert durch den Blattschutz die Stifteingabe nicht, heb ich den Blattschutz auf ist das kein Problem.
Hab jetzt einfach eine Schaltfläche für Blattschutz ein und aus hinzugefügt, dass funktioniert, jetzt kommt aber meine Frage, wie muss das Makro aussehen, dass es mir wenn ich den Blattschutz aufhebe auch gleich den Stift unter dem Reiter "Zeichnen" anwählt.
Habe mit Makrorecorder versucht, leider ohne Erfolg.

LG UdPa
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel mit Stifteingabe
19.01.2025 12:01:02
mumpel
Hallo!

Das ist nicht so einfach. Das Tab lässt sich vielleicht noch ansteuern, für den Stift sollte ein API-Spezialist reinschauen. Für das Aktivieren des Tabs schau in meinen RibbonX-Workshop rein. https://www.rholtz-office.de/ribbonx/ein-beliebiges-tab-aktivieren (keine Garantie, dass das funktioniert).

Gruß, René
Anzeige
AW: Excel mit Stifteingabe
19.01.2025 12:45:37
Piet
Hallo

wenn du im VBA Editor unter Eigenschaften für die Tabelle den gültigen -ScrollArea- Bereich angibt kannst du evtl. auf Blattschutz verzichten!
Der Cursor bewegt sich dann nur noch im zugelassenen Bereich. Den Bereich kannst du per KontrollBox Makro festlegen und aufheben.

mfg Piet

Sub ScrollArea_festlegen()

If ActiveSheet.CheckBoxes(1) = 1 Then
Tabelle1.ScrollArea = "B5:B10"
Else
Tabelle1.ScrollArea = ""
End If
End Sub
Anzeige
AW: Excel mit Stifteingabe
19.01.2025 15:52:26
volti
Hallo,

was kann man sich unter "Stift" vorstellen und wo ist der Reiter "Zeichnen". Kenne ich nicht. Was ist gemeint?

Excelinterne Zellen, Objekte und Ribbonteile lassen sich m.E. nicht mit der API ansprechen, da sie Excelintern gehandelt werden und keine Windowsobjekte darstellen.

Vielleicht kann ein virtueller Mitarbeiter hier helfen, also z.B. Keyaktionen oder Mausklicks, die so agieren, als würde es der User selbst machen.

Gruß Karl-Heinz
Anzeige
AW: Excel mit Stifteingabe
19.01.2025 18:22:17
mumpel
"Zeichnen" ist standardmäßig ausgeblendet und kann über "Menüband anpassen aktiviert werden. Der Stift kann nicht per "ExecuteMso" angesprochen werden, da dafür keine idMso verfügbar ist.
AW: Excel mit Stifteingabe
19.01.2025 18:58:11
volti
Hallo,

hier ein Ansatz via "Virtuellem Mitarbeiten".

Dieser führt einen Mausclick auf dem Ribbonbutton aus.
Hierbei wird vorausgesetzt, dass "Zeichnen" aktiviert wird, weil der Klick ohne Rücksicht des Vordergrundfensters ausgeführt wird.

Ggf. muss die Position der Maus angepasst werden, möglicherweise auch an den Zoom. Aber das kann man ja noch nachbessern, wenn diese Methode ok ist.

Probiere es einfach mal aus.

Code:

Private Declare PtrSafe Sub mouse_event Lib "user32" (ByVal dwFlags As Long, _
        ByVal dx As Long, ByVal dy As Long, _
        ByVal cButtons As Long, ByVal dwExtraInfo As LongPtr)
Private Declare PtrSafe Function GetWindowRect Lib "user32" ( _
        ByVal hwnd As LongPtr, lpRect As RECT) As Long
Private Declare PtrSafe Function GetCursorPos Lib "user32" ( _
        lpPoint As POINTAPI) As Long
Private Declare PtrSafe Function SetCursorPos Lib "user32" ( _
        ByVal x As Long, ByVal y As Long) As Long

Private Type POINTAPI
    x As Long
    y As Long
End Type

Private Type RECT
    Left   As Long
    Top    As Long
    Right  As Long
    Bottom As Long
End Type

Sub DeAktiviereStift(bAnAus As Boolean)
' Führt einenMausclick an der gewünschten Stelle durch
  Dim PT As POINTAPI, R As RECT
 
  GetCursorPos PT                   ' Mausposition retten
  GetWindowRect Application.hwnd, R ' Excel Koordinaten holen
  SetCursorPos R.Left + IIf(bAnAus, 245, 60), R.Top + 150
  mouse_event &H6, 0, 0, 0, 0       ' Buttonclick leftdown + leftup
  SetCursorPos PT.x, PT.y           ' Alte Mausposition wiederherstellen

End Sub

Sub Test()
  DeAktiviereStift True
End Sub

_________
viele Grüße
Karl-Heinz
Anzeige
AW: Excel mit Stifteingabe
19.01.2025 18:32:08
volti
Eijeijei,

eine Bildungslücke. Noch nie vermisst, noch nie benutzt.

Danke René für die Info.

Gruß KH
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18