Tervehdys,
Olen tehnyt pienen makron jossa käyttäjä syöttää erillaisia arvoja ohjelmaan, yksi näistä arvoista on sarjanumero jonka pitäisi aina olla kuusi numeroa pitkä (123456). Kysymykseni olisikin että miten saan tarkastettua/ huomautettua käyttäjälle jos hän syöttää vahingossa viisi numeroisen tai seitsemännumeroisen luvun... kiitos tuhannesti
Olen tehnyt pienen makron jossa käyttäjä syöttää erillaisia arvoja ohjelmaan, yksi näistä arvoista on sarjanumero jonka pitäisi aina olla kuusi numeroa pitkä (123456). Kysymykseni olisikin että miten saan tarkastettua/ huomautettua käyttäjälle jos hän syöttää vahingossa viisi numeroisen tai seitsemännumeroisen luvun... kiitos tuhannesti
Vastaukset 5
Vanhimmat
Jos käyttäjä kirjoittaa luvun suoraan soluun, voit tehdä kelpoisuustarkistuksella ehdon että kelpaa vain kuusi merkkiä pitkä teksti.
Jos arvo syötetään makron kautta vaikka Inputboxilla kelpoisuustarkistus ei toimi.
keksin vastauksen joka ei sinällänsä laske numeroiden määrää vaan antaa ehdot ääripäistä eli:
If s > 999999 Then
MsgBox "Valitettavasti syöttämäsi numero oli virheellinen," & vbCrLf & "Ohjelman suoritus loppuu tähän." & vbCrLf & "Ole hyvä ja suorita ohjelma uudelleen"
If s > 999999 Then End
End If
If s < 100000 Then
MsgBox "Valitettavasti syöttämäsi numero oli virheellinen," & vbCrLf & "Ohjelman suoritus loppuu tähän." & vbCrLf & "Ole hyvä ja suorita ohjelma uudelleen"
If s < 100000 Then End
End If
elikkä noin ... ei ehkä kirjan mukaan mut toimii
taulukon moduuliin jos esim A1 syotetaan arvo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Len(Range("A1")) = 0 Then Exit Sub
If Not Len(Range("A1")) = 6 Then
MsgBox "Arvon on oltava 6 merkkiä pitkä"
Range("A1") = ""
Range("A1").Select
End If
End Sub
kun vähän muuttaa... haluaisin sen toimivan noin, kuten alla, mutta tuolla koodillahan se ei tietenkään toimi
sub blaa()
dim syote as integer
syöte = inputbox("blaa blaa blaa")
If Len(syote) = 0 Then Exit Sub
If Not Len(syote) = 6 Then
MsgBox "Arvon on oltava 6 merkkiä pitkä"
End If
end sub
Sub Numero()
Dim numero As Double
alku:
numero = Application.InputBox(("Enter a number"), Type:=1)
If numero = 0 Then
MsgBox "Peruutit toiminnon!"
Exit Sub
Else
If Not Len(CStr(numero)) = 6 Then
MsgBox "Sinun on annettava 6 numeroinen luku"
GoTo alku
End If
End If
End Sub