Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Steuerung der Anzeige einer Textbox durch Zeilenauswahl
#21
Hallo,

Code:
Private Sub UserForm_Activate()
  TextBox1 = Join(Application.Transpose(Range("A1:A10").Value), vbLf)
  TextBox2 = String(9, vbLf)
End Sub

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Dim vArray(1 To 2) As Variant
  vArray(1) = Application.Transpose(Range("B1:B10").Value)
  vArray(2) = Split(TextBox2.Value, vbLf)
  vArray(2)(TextBox1.CurLine) = vArray(1)(TextBox1.CurLine + 1)
  TextBox2 = Join(vArray(2), vbLf)
End Sub

Gruß Uwe
Antworten Top
#22
Hallo zusammen,
Hallo Andre,

hmmm, Du scheinst ausgeschlafener zu sein als ich. Wink

Ich denke, Du hast jetzt die gewünschte Lösung eingestell.
Schöne Arbeit.Thumps_up
Gruß Atilla
Antworten Top
#23
Hallo Atilla,

ja, aber heut früh noch nicht ganz. In Sachsen ist heute Feiertag - ich bin ja Pendler von Ostthüringen nach Westsachsen Wink, also obwohl ich gen Osten fahre kann man fast sagen von Ost... nach West...
Da nutz ich schon die letzten Tage als verlängertes Wochenende ... Erst morgen geht's wieder los.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#24
Hallo Uwe,

ich glaub Du musst mit mir nachsitzen.

1. fehlt das Markieren in Textbox1
2. funktioniert das MousDown nicht. Fehlermeldung: "Index außerhalb des gültigen Bereichs"
Gruß Atilla
Antworten Top
#25
Hallo Andre,

ich arbeite mich langsam in Deinen Code ein.
Muss man hier wirklich mit Find arbeiten?

Ich habe die Zeile

so ersetzt
Code:
arrZeilen2(TextBox1.CurLine) = Cells(TextBox1.CurLine + 1, 2)


und es scheint zu funktionieren.
Gruß Atilla
Antworten Top
#26
Hallo Atilla,

wenn die SelectionMargin-Eigenschaft auf True steht, kann man doch eine Zeile markieren.
Der Fehler hatte nichts mit MouseDown zu tun. Hattest Du meine letzte Version getestet?

Gruß Uwe
Antworten Top
#27
Hallo Uwe,

ok jetzt gehts. Warum so einfach, wenn es auch umständlich geht:22:
Auch eine tolle Lösung. [Bild: 58.gif]

Nur mit dem Markieren hast Du nicht richtig verstanden.
Die Zeile, in die man mit der Maus rein klickt, soll automatisch und nicht manuell markiert werden.
Gruß Atilla
Antworten Top
#28
Hallo,

hier jetzt noch mit Markierung der Zeile in TextBox1: (Andrés Code funktioniert nicht wirklich, da da von einmaligen Werten in Spalte A ausgegangen wird)

Code:
Private Sub UserForm_Activate()
  TextBox1 = Join(Application.Transpose(Range("A1:A10").Value), vbLf)
  TextBox2 = String(9, vbLf)
End Sub

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Dim i As Long
  Dim vArray(0 To 3) As Variant
  vArray(0) = Application.Transpose(Range("B1:B10").Value)
  vArray(2) = Split(TextBox2.Value, vbLf)
  With TextBox1
    vArray(1) = Split(.Value, vbLf)
    vArray(2)(.CurLine) = vArray(0)(.CurLine + 1)
    For i = 0 To .CurLine
      vArray(3) = vArray(3) + Len(vArray(1)(i))
    Next i
    .SelStart = vArray(3) - Len(vArray(1)(.CurLine))
    .SelLength = Len(vArray(1)(.CurLine)) + (.CurLine < .LineCount - 1)
  End With
  TextBox2 = Join(vArray(2), vbLf)
End Sub

Gruß Uwe
Antworten Top
#29
Hallo Leute,

vielen Dank an euch alle und speziell an Andre und last but not least Uwe. Dieses
Projekt hätte ich selbst lösen können, aber der von euch verwendete Code wäre
mir dabei nun wirklich nicht eingefallen. Nicht einmal im Traum. Toll!!

Deshalb bitte erweitert die Funktionalität. Bei Textbox1 und Textbox2 sollen
angezeigte Inhalte per Doppelklick in die jeweiligen Textboxen wieder verschwinden.
(und wenn's geht in Textbox1 dann auch wieder erscheinen wenn sie mal weg waren)

Ich hatte es schon angedeutet: Die Idee zu dieser Programmierung kam mir
von dem Langenscheidt Vokabeltrainer. Insofern wäre dann auch ein praktischer
Nutzen für jedermann dahinter erkennbar.
Antworten Top
#30
Hallo Uwe,

wenn mein Ausgangspunkt stimmt, funktioniert der code auch wirklich. Deswegen hab ich das ja hingeschrieben. Dagegen lässt sich bestimmt was tun. Shy Ob das in dem Projekt nötig ist, müsste Sotaros mal sagen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste