tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
859
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Be19 Be19 ist offline Rookie
    Registriert seit
    Aug 2010
    Beiträge
    9
    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?
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.

  3. #3
    Be19 Be19 ist offline Rookie
    Registriert seit
    Aug 2010
    Beiträge
    9
    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
     

  4. #4
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.

  5. #5
    Be19 Be19 ist offline Rookie
    Registriert seit
    Aug 2010
    Beiträge
    9
    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)
     

  6. #6
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.

  7. #7
    Be19 Be19 ist offline Rookie
    Registriert seit
    Aug 2010
    Beiträge
    9
    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 Rechenaufwand
    Geändert von Be19 (18.08.10 um 14:16 Uhr)
     

  8. #8
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.016
    Zitat Zitat von Be19 Beitrag anzeigen
    Wenn der Benutzer jetzt die Textbox verschiebt, sollen sich die Koordinatenangaben in der Textbox automatisch ändern, ohne das eine Prozedur extra aufgerufen wird.
    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.

  9. #9
    Be19 Be19 ist offline Rookie
    Registriert seit
    Aug 2010
    Beiträge
    9
    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 ist
    Geändert von Be19 (18.08.10 um 14:46 Uhr)
     

  10. #10
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.

  11. #11
    Be19 Be19 ist offline Rookie
    Registriert seit
    Aug 2010
    Beiträge
    9
    Das ist eine super Idee! Danke!!
     

Ähnliche Themen

  1. Textbox beim Aktualisieren wieder laden
    Von aargau im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 27.03.08, 15:09
  2. Antworten: 7
    Letzter Beitrag: 16.06.06, 00:38
  3. nach bestimmter zeit ereignis auslösen
    Von cy0st im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 28.03.05, 23:24
  4. Item in einem Listview selectieren -> Ereignis?
    Von colblake im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 06.10.04, 07:37
  5. Ereignis nach bestimmten Tastendruck auslösen
    Von ParadiseCity im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 11.09.04, 14:22