Kuinka erikoismerkkien kirjoittamisen soluun saa estettyä? Eli pitäisi saada toiminto joka herjaa erikoismerkeistä (esim. !?/...) kun niitä yritetään kirjoittaa tai on kirjoitettu soluun.
Excel ja erikoismerkit
Kalervo-78
3885
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
Vaikka tällä. Laitat ton koodin sen sheetin koodimoduliin, niin se herjaa jos yrität kirjoittaa A1 soluun erikoismerkkejä.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
For i = 1 To Len(Target.Text)
If Asc(Right(Target.Text, i)) < 47 Or Asc(Right(Target.Text, i)) > 58 And _
Asc(Right(Target.Text, i)) < 64 Or Asc(Right(Target.Text, i)) > 91 And _
Asc(Right(Target.Text, i)) < 96 Or Asc(Right(Target.Text, i)) > 123 Then
MsgBox ("Älä käytä erikoismerkkejä")
Target.Value = ""
Exit For
End If
Next i
End If
End Sub
edellinen postaus ei sallinut myoskaan skandeja...
kirjainten ja lukujen lisaksi sallii pilkun ja pisteen. Lisaa hakasulkujen valiin haluamasia merkkeja, joita haluat kaytettavan (nyt nuo sykerot koodissa siis isot ja pienet skandi a ja o). Vaikeeta kun ei oo skandeja ja ei jaksa kaivella koodeja niille. Toivottavasti tajusit...
taulukon moduuliin...
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
If Len(Target.Text) > 0 Then
If Target.Text Like "*[!A-Za-z0-9,.ไ๖ฤึ]*" Then
MsgBox "Ei sallittuja merkkejไ solussa!"
Target.Select
End If
End If
End If
End Sub
Kiitoksia vastauksista. Kumpikin tapa on toimiva.
Mitenkähän tuon saisi muutettua vielä niin, että välilyönti olisi sallittu? Kummallakaan koodilla ei sanojen väliin hyväksy välilyöntiä.