Jag vill urskilja en sträng om den innehåller bara bokstäver eller bara siffror, tips tack? det låter som om du är ute efter funktionen like. jag ger dig ett enkelt exempel att bygga vidare på: If IsNumeric("sString") Then Ditt inlägg är inte helt fel. Om du vil skapa et dynamisk mönster med lika många #-tecken som tecken i strängen, kan du använda String() funktionen. Vilket fyller en sträng med ett angivet antal tecken.Skilja sträng från bokstav o siffra?
Sv: Skilja sträng från bokstav o siffra?
If Text1.Text Like "#" Then
Label1.Caption = "siffra"
Else
Label1.Caption = "bokstav"
End If
tyvärr visar den bara siffra om man har en hentalssiffra, talet 11 ger alltså bokstav. jag vet tyvärr inte hur man får valfritt antal siffror, men annars gör man bara en loop som kollar tecken för tecken för hela längden på strängen:
For c = 0 To Len(Text1.Text)
If Right$(Left$(Text1.Text, c), 1) Like "#" Then
iTal = iTal + 1
End If
Next c
If iTal = Len(Text1.Text) Then
Label1 = "tal"
Else
Label1 = "sträng"
End If
//Pontus
edit: oops :D läs nästa för något enklare lösning :DSv: Skilja sträng från bokstav o siffra?
'bara siffror och eller ev. space punkt komma, gör något
Else
'gör något
End IfSv: Skilja sträng från bokstav o siffra?
<code>
Private Sub Command1_Click()
If Text1.Text Like String(Len(Text1.Text), "#") Then
MsgBox "Texten innehåller bara tecken 0 till 9 eller är tom!"
Else
MsgBox "Texten innehåller ett ogiltligt tecken!" & vbCrLf & "Texten får bara innehålla 0 till 9"
End If
End Sub
</code>
Detta kan ju vara bra om man bara får ange heltal. Anars är ju IsNumeric() funktionen en mycket bra funktiion för att kontroller om man man angivit ett tal eller inte.