I detta ex hamnar ju värdet i text2 Gör en array med textboxar istället, dvs ha textboxarna text(0), text(1), text(2), osv... Jo det är väl en lösning på det MEnar du så här: Jag var nog för snabb med mitt svar Du kan skriva så här: Jag får inte till det som tänkt, men detta fungerarOlika textboxar
Men om jag vill få in de olika värdena i olika textboxar
Så värdet (1) hamnar i text2 och värdet (2) hamnar i 3 o.s.v
Alttså att den räknar upp en textbox per värde
Dim i, n As String
For i = 1 To 5
n = Mid$(Text1.Text, i, 2)
Next i
Text2 = n
SörenSv: Olika textboxar
n = Mid$(Text(i).Text,i,2), typ.
HenrikSv: Olika textboxar
Men jag tänkte att det även skulle gå att få till med text1, text2 o.s.v
Hoppas det finns en lösning även på det...
SörenSv: Olika textboxar
<code>
Dim I As Long
Dim txt As TextBox
For i = 1 To 5
Set txt = Me.Controls("Text" & i + 1)
txt.Text = Mid$(Text1.Text, i, 2)
Next
</code>
Vilket du löser snyggare med en kontrollarray som föreslagits:
<code>
Dim I As Long
For i = 1 To 5
Text2(i).Text = Mid$(Text1.Text, i, 2)
Next
</code>
Förutsätter att du skapat en kntrollaray av Text2 och lagt till element med index 1 till 5.Sv: Olika textboxar
Detta räknar ju upp textboxarna som var tänkt
Men den hämtar samma värde som nummert på textboxen till boxen
Jag skulle vilja kunna bestämma även var det ska hämtas
Så att den hämtar låt säga som detta ex
11 till textbox 1
22 till textbox 2
33 till textbox 3
Text1 = "1122334455"
Dim I As Long
Dim txt As TextBox
For i = 1 To 5
Set txt = Me.Controls("Text" & i + 1)
txt.Text = Mid$(Text1.Text, i, 2)
Next Sv: Olika textboxar
<code>
Private Type Text
Text As String * 10
End Type
Private Type TextBlock
Text1 As String * 2
Text2 As String * 2
Text3 As String * 2
Text4 As String * 2
Text5 As String * 2
End Type
Private Sub Command1_Click()
Dim T As Text
Dim TB As TextBlock
T.Text = Text1.Text
LSet TB = T
Text2.Text = TB.Text1
Text3.Text = TB.Text2
Text4.Text = TB.Text3
Text5.Text = TB.Text4
Text6.Text = TB.Text5
End Sub
</code>
Eller så kan du:
* Ta bort Text3, Text4, Text5 och Text6.
* Kopiera Text2
* Klistra in
* Svara ja på dialogen som frågar om du vill skapa en kontrollaray.
* Klistra in
* Klistra in
* Klistra in
Du har nu en kontrollaray med fem textboxar.
Du adresserar textboxarna såhär: Text2(0), Text2(1), Text2(2), Text2(3) och Text2(4)
Använd Följande kod för att plocka ut
<code>
Private Sub Command1_Click()
Dim I As Long
Dim txt As TextBox
For I = 0 To 4
Set txt = Text2(I)
txt.Text = Mid$(Text1.Text, 1 + I * 2, 2)
Next
End Sub
</code>Sv: Olika textboxar
Text2 = Mid$(Text1.Text, 1, 2)
Text3 = Mid$(Text1.Text, 3, 2)
Text4 = Mid$(Text1.Text, 5, 2)
Text5 = Mid$(Text1.Text, 7, 2)