Ciao, se ho compreso il tuo quesito e se può esserti ancora utile ti allego un piccolo programma e relativo Form che credo risolva il problema nel caso tu voglia utilizzare proprio delle textbox (e non combo/listbox).
Il programma non sarà molto elegante essendo io principiante,ma funziona.
Saluti.
--------------------
Option Explicit
Dim F, n, passo, Num As Integer
' F: numero frasi in testo multirighe
' n: numero di caratteri per ciascuna frase in testo multirighe
' passo: numero caratteri di ciascuna parola in ogni frase
' Num: numero digitato in Nriga
Dim testoTmp As String
Private Sub Command1_Click()
Dim stringa As String
Dim riga(10) ' max 10 tighe nella textbox "testo" o aumenta il valore tra parentesi
inizio:
On Error Resume Next
If Val(Nriga) < 1 Then Nriga = "1": GoTo inizio Else Num = Val(Nriga)
testoTmp = testo
For n = 1 To Len(testoTmp)
stringa = Mid$(testoTmp, n, 2)
If stringa = vbCrLf Then
F = F + 1
passo = n + 1
riga(F) = Mid$(testoTmp, passo - n, n - 1)
testoTmp = Mid$(testoTmp, n + 2): If testoTmp = "" Then GoTo 1
n = 0
End If
Next n
1:
If Num > F Then
MsgBox "La TextBox MultiLine contiene solo " & F & " righe", vbInformation
Nriga = ""
Nriga.SetFocus
testo2 = ""
GoTo inizio
Else
testo2 = riga(Num)
End If
F = 0
End Sub
Private Sub Nriga_Change()
Num = Val(Nriga)
End Sub
|