ERLEDIGT
JA
JA
ANTWORTEN
10
10
ZUGRIFFE
859
859
EMPFEHLEN
-
Hallo,
Ich habe eine Textbox und muss nach jedem Verschieben der Textbox den Inhalt neu berechnen (aktuelle Position auf dem Worksheet). Gibt es ein Ereignis wie onTextbox.move? oder onTextbox.select?
Bis jetzt habe ich keins gefunden, aber vielleicht habt ihr noch andere Ideen das zu lösen?
-
18.08.10 10:43 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Wie sieht es mit dem BeforeDragOver Ereignis aus?
Das müsste dir doch helfen.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Danke für die Antwort! Nach allem, was ich bis jetzt rausgefunden habe, wäre das genau das richtige Ereignis, aber ich komm noch nicht damit klar

Bis jetzt habe ich es so versucht:
Sub label1_BeforeDragOver _
(ByVal Cancel As MSForms.ReturnBoolean, _
ByVal Data As DataObject, _
ByVal X As Single, ByVal Y As Single, _
ByVal DragState As fmDragState, _
ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As fmShiftState)
MsgBox "wurde verschoben"
End Sub
Das funktioniert bis jetzt noch nicht, ich weiß aber ehrlich gesagt auch nicht, was die ganzen Variablen bedeuten
-
18.08.10 12:09 #4
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Da du schreibst "...aktuelle Position auf dem Worksheet..." gehe ich davon aus das du mit Exel arbeitest.
Ich scheitere damit bereits am Versuch ein Steuerelement zu verschieben. Kann es sein das dies in Excel gar nicht möglich ist?Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Ja, ich arbeite in Excel.
Aber ich erstelle eine Textbox mit dem Namen Label1, das ist ein bischen dumm.
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 50, 50, 50, 50).Select
Selection.name = Label1
Die Hilfe kennt die Funktion eigentlich auch, ich bekomme nur immer die Fehlermeldung, dass ich zu wenig Variablen angegeben habe oder Ich die Textbox gar nicht erst erstellen kann, weil sie sofort mit dem Ereignis BeforeDragOver in verbindung gebracht wird...Geändert von Be19 (18.08.10 um 14:57 Uhr)
-
18.08.10 12:44 #6
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Der Name der Textbox spielt weniger eine Rolle.
In Excel ist es wohl nicht möglich die Position eines Steuerelements zur Laufzeit durch Drag & Drop zu verändern.
Wenn du bei den Eigenschaften die DragBehavior-Eigenschaft auf 1 gestellt hast, dann kannst du den im Textfeld enthaltenen Text per Darg & Drop in die Excel Tabelle ziehen, andernfalls kannst du den Text nur markieren.
Das BeforeDragOver-Ereignis wird ausgelöst wenn du den Text aus dem Textfeld ziehst, das Textfeld selber lässt sich nicht verschieben.
Beschreib doch mal genauer was du eigentlich machen willst. Vielleicht findet sich eine andere Lösung für dein Problem.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Also, ich habe eine Textbox. Das ist eigentlich nur ein Rechteck mit Text, das sich in einem Koordinatensystem befindet. In der Textbox stehen die jeweiligen Koordinaten als Pixelangaben.
Wenn der Benutzer jetzt die Textbox verschiebt, sollen sich die Koordinatenangaben in der Textbox automatisch ändern, ohne das eine Prozedur extra aufgerufen wird. Dafür habe ich das Ereignis gesucht.
Ich bin dankbar für jede Idee
Ein anderer Versuch war es, einen Timer zu benutzen, der das Blatt regelmäßig updatet, aber das wäre wahrscheinlich viel RechenaufwandGeändert von Be19 (18.08.10 um 14:16 Uhr)
-
18.08.10 14:27 #8
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Ich frag nochmal. Kannst du die Textbox bei dir in der Tabelle zur laufzeit verschieben**** Ich habe hier Excel 2000 und hier ist die nicht möglich. Man kann zur Entwurfszeit die Steuerelemente da hin platzieren wo man sie haben möchte, sonst aber nicht.
Per Makro habe ich es nicht versucht, damit sollte es aber ohne Probleme möglich sein.
Erkläre mir bitte wie du es anstellst das du das Textfeld verschieben kannst. Dann können wir weitermachen.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Ich markiere die Textbox am Rand, sodass der Curser nicht im Feld ist. Dann kann man sie verschieben. Aber nur, wenn sie mit ...activesheets.shapes.addTextbox() erstellt wurde. Wenn ich eine Form aus Excel verwedende funktioniert es nicht. Das sind glaub ich unterschiedliche Objekte.
Ich verwende Excel 2003, hab leider keine Ahnung ob das in 2000 auch so istGeändert von Be19 (18.08.10 um 14:46 Uhr)
-
18.08.10 15:25 #10
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Ok, jetzt komm ich mit. Das ist ein Textfeld aus der Zeichnen-Symbolleiste und keines von den Steuerelementen, das kann verschoben werden.
Allerdings gibt es dafür keine Ereignisse. Du müsstest die neuen Koordinaten dann reinschreiben wenn irgendwas anderes in Excel selber passiert.
Wenn du nach dem Verschieben z.B. irgendwo in die Tabelle klickst, dann wird das Worksheet_SelectionChange-Ereignis ausgelöst. Dort könntest du die Anweisung für das Ändern der Koordinaten reinschreiben.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Das ist eine super Idee! Danke!!
Ähnliche Themen
-
Textbox beim Aktualisieren wieder laden
Von aargau im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 27.03.08, 15:09 -
Aktualisierung nach einem Ereignis auf dem Server
Von matthoz im Forum PHPAntworten: 7Letzter Beitrag: 16.06.06, 00:38 -
nach bestimmter zeit ereignis auslösen
Von cy0st im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 28.03.05, 23:24 -
Item in einem Listview selectieren -> Ereignis?
Von colblake im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 06.10.04, 07:37 -
Ereignis nach bestimmten Tastendruck auslösen
Von ParadiseCity im Forum .NET ArchivAntworten: 3Letzter Beitrag: 11.09.04, 14:22





Zitieren


Login




