Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
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
an Position des Cursors Textbox einfügen
10.09.2020 07:47:50
Henry
Hallo Zusammen,
ist es möglich, bei Doppelklick eine Textbox einzufügen,genau an dieser Stelle wo geklickt wurde?
Ich habe bisher nur etwas gefunden, wo man die Position des Cursors auf dem gesamten Bildschirm auslesen kann, nicht aber nur im Excel-Arbeitsblatt.
die eingefügten Textboxen stehen somit immer an anderen Positionen

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

Betreff
Datum
Anwender
Anzeige
AW: an Position des Cursors Textbox einfügen
10.09.2020 08:00:42
ChrisL
Hi
Modul der betreffenden Tabelle:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=Target.Left, Top:=Target.Top, Width:=72, Height:=18).Select
End Sub
cu
Chris
AW: an Position des Cursors Textbox einfügen
10.09.2020 10:11:23
Henry
Danke du hast mir meinen Tag gerettet!
AW: an Position des Cursors Textbox einfügen
10.09.2020 14:29:32
Max
Ist es auch möglich den Code so abzuändern, dass das einfügen nicht von der Zelle abhängig ist?
Vermutlich ja...
10.09.2020 16:35:00
ChrisL
aber hierzu habe ich auch keine Lösung bereit. Könnte etwas schwierig werden die Cursorposition auf die Position der Applikation (Excel muss ja nicht zwingend im Vollbildmodus geöffnet sein) und die Position innerhalb der Exceltabelle umzurechnen. Für eine zuverlässige Lösung müsste man vermutlich einiges an Zeit investieren.
Anzeige
mit einem Workaround
10.09.2020 17:20:56
Daniel
geht das relativ einfach.
hierzu nutzt man folgendes aus:
1. ein Commandbutton kann auch transparent sein.
2. bei einem Commanbutton kann man über das MouseDown oder das MouseUp-Event zusätzlich ermitteln, an welcher Stelle über dem Button der Klick erfolgt ist.
der Trick ist, dass man beim ersten Klick auf den Button diesen Transparent macht und über den sichtbaren Tabellenbereich platziert.
beim nächsten Klick ermittelt man dann die Klickposition kann zusammen mit der Grundposition des Buttons auf die Tabellenbblattposition des Klicks schließen und dort die TextBox einfügen.
du musst also einfach nur einen ActiveX-Button anlegen mit diesem Eventmakro:
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X  _
As Single, ByVal Y As Single)
Static alt_T As Single
Static alt_L As Single
Static alt_H As Single
Static alt_W As Single
With CommandButton1
Select Case .BackStyle
Case fmBackStyleTransparent
ActiveSheet.OLEObjects.Add ClassType:="Forms.TextBox.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=.Left + X, _
Top:=.Top + Y, _
Width:=72, _
Height:=18
.Top = alt_T
.Left = alt_L
.Height = alt_H
.Width = alt_W
Case fmBackStyleOpaque
alt_T = .Top
alt_L = .Left
alt_H = .Height
alt_W = .Width
.Top = ActiveWindow.VisibleRange.Top
.Left = ActiveWindow.VisibleRange.Left
.Height = ActiveWindow.VisibleRange.Height
.Width = ActiveWindow.VisibleRange.Width
End Select
.BackStyle = 1 - .BackStyle
End With
End Sub
direkt nach dem ersten Klick wird die Transparenzsschaltung nicht sofort wirksam, man muss mit der Maus erst nochmal in den Menübereich verfahren (aber dort nichts klicken), damit das Blatt unter dem Button sichtbar wird.
Gruß Daniel
Anzeige
AW: an Position des Cursors Textbox einfügen
12.09.2020 11:57:05
Daniel
Hi
Am einfachsten müsste folgendes zu programmieren sein, wenn man sich mit diesem Ablauf anstelle des Doppelklicks anfreunden kann:
- Anklicken eines ActiveX-Commandbuttons auf dem Blatt
- bei gehaltener Maustaste zur geplanten Textboxposition fahren
- Maustaste loslassen
Dann reicht es aus, im MouseUp-Event den X-Wert zum .Left des Buttons und den Y-Wert zum .Top des Buttons hinzu zu addierte und man hat die Koordinaten zum erstellen der Textbox.
Beim MouseUp darf die Klickposition auch außerhalb des Buttons liegen.
Gruß Daniel

13 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige