Excel VBA Text in andere Textbox bringen?
Guten Tag.
Ich habe zwei Fragen bezüglich Excel VBA.
Ich möchte den Text in einer Textbox mit einem Mausklick markieren (Die Textbox kann übrigens nicht von Hand ausgefüllt werden und ist für die Bearbeitung gesperrt). Es soll aber nur ein einziges Wort markieren.
Der markierte Text soll in eine andere Textbox erscheinen, sobald man draufgeklickt hat. Das Ganze ist übrigens in einer Userform
Bin noch relativ Neuling im VBA, würde mich über eine Antwort freuen.
Ein Bild ist im Anhang.
![Problemstellung - (Computer, PC, Programm)](https://images.gutefrage.net/media/fragen/bilder/excel-vba-text-in-andere-textbox-bringen/0_big.jpg?v=1493201057000)
3 Antworten
Ich wüsste nicht, wie Du den markierten Teil aus einem Textfeld auslesen kannst.
Wenn Du aber stattdessen eine Listbox nimmst, und die scheint hier sowieso sinnvoller zu sein, kannst Du die Einträge über die ListFillRange füllen und den markierten Eintrag über die LinkedCell auslesen. Das sollte kein Problem sein.
Mit
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
kannst Du auf einen Doppelklick reagieren und den Inhalt der LinkedCell in die andere Textbox kopieren.
Ich habe das jetzt außerhalb einer UF getestet, sollte aber auch da möglich sein.
Das ganze ist nicht so mein Spezialgebiet und ich habe leider keine Zeit mehr, mich darin zu vertiefen.
Aber vielleicht hilft Dir ja das hier schon weiter?
Vielen Dank! hat mir weitergeholfen, jetzt muss ich nicht mehr alles von Hand machen (Y)
Geb dir dafür ein Danke bei der anderen Antwort.
Bei Click in ListBox den Wert vom Label anzeigen:
Private Sub ListBox1_Click()
Label1.Caption = ListBox1.Value
End Sub
Bei Doppelclick in ListBox den Wert vom Label anzeigen:
http://www.ozgrid.com/forum/showthread.php?t=148500
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Label1.Caption = ListBox1.Value
End Sub
Du bist irgendwo komplett anders... Ich habe keine Listbox drinne, nur ne Textbox.
Und geholfen is mir leider gar nicht :/
Also eine mehrzeilige TextBox?
Die würde ich durch eine ListBox ersetzen. Das ist eine typische Aufgabe für eine ListBox, nicht für eine TextBox.
Oder ein "Formularsteuerelement" statt eines "Active-X-Steuerelements"? Beschränke dich auf eine der beiden Arten von Steuerelementen, sonst kommst du durcheinander. (Da hat Microsoft zwei grundverschiedene Konzepte irgendwie zusammengeführt, ohne genug auf Übersichtlichkeit zu achten)
die Click-Methode kommt in der UserForm automatisch, wenn Du auf die ListBox einen Doppelklick machst (Obacht: Es kommt nicht die Doppelklick-Methode!)
Oder per Code anzeigen den Code eingeben.
mit
Strg c kopieren und mit
Strg v in andere Zelle einfügen.
Wird aber nicht gehen wenn der Text mit Funktionen verknüpft ist.
Oh man....
Mit einm Code meine Ich denk.
Sodass ich in der Userform nur den Text einmal anklicken muss und er in der Textbox erscheint...
Danke, habe jetzt eine Listbox eingesetzt.
Konnte zwar Listfillrange nicht benutzen da ich die Werte über Zellen einlesen wollte.
Und irgendwie kann ich linkedcell nicht benutzen. Ka
Habe jetzt ein andere Methode herausgefunden mit me.
Aufjedenfall funktionierts jetzt, hier der Code: