Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textfel an der Position der aktiven Zelle einfügen

Textfel an der Position der aktiven Zelle einfügen
VoVo
Hallo Forumsmitlglieder,
hab mal wieder eine Frage.
Ich möcht an der Position, der aktiven Zelle eine Textfeld auflegen. Dazu müsste jedoch die Position (in Punkt) der oberen linken Ecke des Textfeldes, relativ zur oberen linken Ecke des Dokuments ermittelt werden.
Gibt es da eine Möglichkeit?
Der Hintergrund ist folgender:
Ich möchte ein Textfeld über eine Inputbox einfügen lassen.
Wenn ich jedoch weit unten auf dem Sheet arbeite, muss ich immer wieder nach oben scroolen um das Textfeld abzuholen. Da ich die Position des Textfeldes nur statisch festgelegt habe.
Danke schon mal im Voraus
VoVo

AW: Textfel an der Position der aktiven Zelle einfügen
30.01.2008 13:54:00
Jens
Hallo VoVo
Zeichne das doch mal mit dem Makrorecorder auf.
Die Angaben für Left und Top änderst Du dann in
Left:=ActiveCell.Left und Top:=ActiveCell.Top
Gruß aus dem Sauerland
Jens

AW: Textfel an der Position der aktiven Zelle einf
VoVo
Hallo Jens,
Danke .....!!
War genau das was ich benötigt habe.
VBA kann ja so einfach sein :-))
Thema damit erledigt.

AW: Textfel an der Position der aktiven Zelle einf
30.01.2008 15:58:00
Jens
Hi VoVo
Bitte, gern geschehen.
Übrigens glaube ich nicht, dass Luc :-? etwas von mir abschauen kann/muss.
Luc :-? is da schon um Lichtjahre versierter in VBA als ich.
Ich hab da einfach nur ganz simpel gedacht. :o))
Gruß aus dem Sauerland
Jens

Anzeige
OT@Jens: Nur nicht so bescheiden...
30.01.2008 18:34:00
Luc:-?
Vielleicht hast du recht, vielleicht auch nicht... ;-)
Jedenfalls hast du hier richtig gedacht und das reichte ja auch, wenn das TF schon vorhanden ist und nicht erst erzeugt wdn muss wie die Frage vermuten ließ. Da gehen einem schon mal alle möglichen Situationen durch den Kopf, wo und wie man sowas schon mal gelöst hat. Und da hatte ich schon wirklich wesentlich Komplizierteres... z.B. das Aufpassen einer UserForm auf ein Textfeld. Das sind nämlich 2 ganz unterschiedliche Koordinatensysteme (vor allem, wenn es nutzereinstellungsunabhängig fkt soll)...
Gruß Luc :-?

AW: Textfeld an Position aktiver Zelle...
30.01.2008 14:05:34
Luc:-?
Hallo VoVo!
Das ist möglich! Meiner Erinnerung nach sind hier auch die Maßangaben Zellposition und TF-Abstand vglbar. Habe so etwas nämlich schon mal realisiert, ist aber als Bsp für dich zu komplex und deshalb eher verwirrend.
Du benötigst die Eigenschaften .Top und .Left, die in beiden Fällen (Zelle und TF) auf den Blattrand oben und links (ab linker oberer Ecke des Objekts) und evtl nur im Fall der Zelle auch auf den .VisibleRange bezogen wdn können (dann evtl umrechnen). Sieh dir mal in der Hilfe auch noch die anderen Formateigenschaften an! Außerdem benötigst du wahrscheinlich noch die vbFkt CentimetersToPoints zum Umrechnen in Punkt.
Zusätzlich wird eine Ereignisprozedur benötigt. Ich habe dafür die zum Arbeitsblattereignis _SelectionChange benutzt (im Dokumente-Klassenmodul der jeweiligen Tabelle, quasi ihre Rückseite). Kannst natürlich auch _BeforeRightClick oder _BeforeDoubleClick nehmen. Dort kannst du dann entweder deinen ganzen Code unterbringen oder, was ich stets empfehle, bei passenden Bedingungen von dort zu einer Subroutine in einem "normalen" Modul (quasi die Rückseite eines leeren, unsichtbaren Extrablattes), das und die du sicher schon hast, verzweigen (per Aufruf).
Wenn du das TF an der alten Position ausschneidest und an der neuen Position wieder einfügst, wird es, wenn es vorher mit der linken oberen Ecke der Zelle bündig war, das jetzt auch wieder sein, auch Breite (.Width) und Höhe (.Height) dürften sich bei entsprechender Einstellung ändern, so dass du eigentlich das anfangs Gesagte gar nicht benötigen würdest, vorausgesetzt, das Textfeld ist 1x manuell gefertigt worden.
Wenn du es aber auch erzeugen willst, ich nehme an, du willst per InputBox nur seine Abmessungen und evtl seinen ersten Standort (Zelladresse würde reichen!) angeben, benötigst du das alles für die Ersterzeugung nicht unbedingt für den Transport (falls du ausschneidest, ansonsten Positionswechsel durch Angabe der neuen Parameter veranlassen). Du musst dann halt nur alles aus- und umrechnen und dem TF zuweisen.
Gruß Luc :-?

Anzeige
AW: Textfeld an Position aktiver Zelle...
VoVo
Hi Luc,
danke für deine rasche Hilfe.
Hab genau das bekommen was ich benötigt habe.
Solltest du das mal wieder brauchen, sie dir mal die Lösung von Jens an.
VBA kann ja so einfach sein.:-)
Gruß VoVo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige