Excel VBA Text in andere Textbox bringen?

Problemstellung - (Computer, PC, Programm)

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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?

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)
Yasuo8 
Fragesteller
 26.04.2017, 14:19

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:

Private Sub cmd_excellesen_Click()


Dim Tag_1 As String
Dim Tag_2 As String
Dim Tag_3 As String
Dim Tag_4 As String
Dim Tag_5 As String
Dim Tag_6 As String
Dim Tag_7 As String

Tag_1 = Sheets(1).Cells(1, 5)
Tag_2 = Sheets(1).Cells(2, 5)
Tag_3 = Sheets(1).Cells(3, 5)
Tag_4 = Sheets(1).Cells(4, 5)
Tag_5 = Sheets(1).Cells(5, 5)
Tag_6 = Sheets(1).Cells(6, 5)
Tag_7 = Sheets(1).Cells(7, 5)

ListBox1.AddItem Tag_1
ListBox1.AddItem Tag_2
ListBox1.AddItem Tag_3
ListBox1.AddItem Tag_4
ListBox1.AddItem Tag_5
ListBox1.AddItem Tag_6
ListBox1.AddItem Tag_7

End Sub

Private Sub ListBox1_Click()
Me.txt_eintrag = Me.ListBox1
End Sub
1
nobytree2  26.04.2017, 14:55
@Yasuo8

Anstatt mit Tag_1 bis Tag_7 zu arbeiten, kann man ein Array und eine For-Schleife nehmen.

Private Sub cmd_excellesen_Click()

   Dim Tag_(1 To 5) As String

   For x = 1 To 7
          Tag_(x) = Sheets(1).Cells(x,5)
           LixtBox1.AddItem Tag_(x)
   Next

End Sub
2
Yasuo8 
Fragesteller
 26.04.2017, 15:21
@nobytree2

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.

1
nobytree2  26.04.2017, 15:23
@Yasuo8

Außer dass ich das Array (1 To 5) zu kurz dimensioniert habe, (1 To 7) wäre richtig ...

0
Yasuo8 
Fragesteller
 27.04.2017, 12:07
@nobytree2

Hab ich selber gemerkt :) 

Und es ist Listbox, nicht "LixtBox1"

0

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
Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich
nobytree2  26.04.2017, 13:27

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.

0
Yasuo8 
Fragesteller
 26.04.2017, 13:34

Du bist irgendwo komplett anders... Ich habe keine Listbox drinne, nur ne Textbox. 

Und geholfen is mir leider gar nicht :/

0
PWolff  26.04.2017, 14:48
@Yasuo8

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)

2
Yasuo8 
Fragesteller
 26.04.2017, 15:21
@PWolff

Vielen Dank. Hab jetzt eine Listbox drinne.

1

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.

https://support.office.com/de-de/article/Excel-Tastenkombinationen-und-Funktionstasten-f%C3%BCr-Windows-1798d9d5-842a-42b8-9c99-9b7213f0040f





Yasuo8 
Fragesteller
 26.04.2017, 12:28

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...

0