Gå til innhold

Anbefalte innlegg

Er litt ute av VB igjen.

Jeg har lyst å lage en liste i en textboks(text7) med text2.text pluss et nummer bak(fra text4.text til text5.text) så jeg tengte denne koden ville duge, men jeg får type mismatch og greier:

Private Sub Command1_Click()
Text7.Text = ""
Dim i
For i = Text4.Text To Text5.Text
Text7.Text = Text2.Text + i + vbCrLf
Next i
End Sub

Hvordan må det gjøres?

Lenke til kommentar
Videoannonse
Annonse

.Text returnerer bare teksten i en tekstboks, og kan ikke brukes til dette. Slik kan man gjøre det:

Private Sub Command1_Click()

'Først splitter vi hver linje ut i et array
Dim buff
buff = Split(Text2.text, Chr(13))
'Chr(13) er linjeskift

'Så lager vi en FOR-løkke som går gjennom alle linjene
Dim i
For i = LBound(buff) To UBound(buff)
   
   'Denne er litt triksy. Det første tegnet i alle linjene under 1 er "vbCrLf", så den må vi ta bort
   If i = LBound(buff) Then
       
       'Send teksten til AddText-subben
       AddText buff(i) & i
       
   Else
       
       'Send teksten til AddText-subben
       AddText Right(buff(i), Len(buff(i)) - 1) & i
       
   End If
   
Next i

End Sub

Private Sub AddText(text As String)

'Jeg bruker denne koden sånn at teksten ikke skal begynne på andre linje i text7
If Text7.text = "" Then
   
   'Legg til tekst
   Text7.text = text
   
Else
   
   'Legg til tekst
   Text7.text = Text7.text & vbCrLf & text
   
End If

End Sub

Endret av Jonas
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...