Miten saadaan soluun niin että siihen tulee automaattisesti pisteet päivän kuukauden ja vuoden väliin vaikka kirjoitettaisiin yhteen pötköön esim.06042006 tai 642006, ei saisi sulkea sitä pois jos kirjoittaja haluaa syöttää pisteet, onko edes mahdollista. Toinen kysymys miten saadaan soluun pakotetuksi kaikki kirjaimet isoksi elikä teksti muuttuisi isoksi jos se on kirjoitettu pienellä. Onkohan liikaa kysytty.
Tuolla oli aikaisemmin juttu missä muutettiin pilkut pisteiksi mutta en osannut hyödyntää sitä.
Tuolla oli aikaisemmin juttu missä muutettiin pilkut pisteiksi mutta en osannut hyödyntää sitä.
Vastaukset 6
Vanhimmat
muotoilua
format cells->custom 00"."00"."0000
UPPER funktio muuttaa tekstin isoksi
mutta jos haluat että teksti muuttuu automaattisesti niin vaatinee VBA-koodia.
Nollia puuttuvien numeroinen tilalla, mutta hain idiootti varmaa tapaa :)
tolla nyt aluksi liikkeelle
taulukon moduuliin...
hoitaa siinä samalla tekstin solussa A1 ISOIKSI KIRJAIMIKSI ja päiväystesti solussa B1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo virhe
Application.EnableEvents = False
Range("A1") = UCase(Range("A1")) 'aina isolla
Select Case Len(Range("B1"))
Case 0
Application.EnableEvents = True
Exit Sub
Case 6
If InStr(Range("B1"), ".") = 0 Then
Range("B1") = Left(Range("B1"), 1) & "." & Mid(Range("B1"), 2, 1) & "." & Mid(Range("B1"), 3, 4)
End If
If Not IsDate(Range("B1")) Then
MsgBox "Tarkista päiväys. Solussa voi olla päivys vain muodossa 25.04.2006 tai 3.5.2006", vbInformation
GoTo virhe
End If
Case 8
If InStr(Range("B1"), ".") = 0 Then
Range("B1") = Left(Range("B1"), 2) & "." & Mid(Range("B1"), 3, 2) & "." & Mid(Range("B1"), 5, 4)
NumberFormat = "dd/mm/yyyy"
End If
If Not IsDate(Range("B1")) Then
MsgBox "Tarkista päiväys. Solussa voi olla päivys vain muodossa 25.04.2006 tai 3.5.2006", vbInformation
GoTo virhe
End If
Case 10
If Not IsDate(Range("B1")) Then
MsgBox "Tarkista päiväys. Solussa voi olla päivys vain muodossa 25.04.2006 tai 3.5.2006", vbInformation
GoTo virhe
End If
Case Else
MsgBox "Tarkista päiväys. Solussa voi olla päivys vain muodossa 25.04.2006 tai 3.5.2006", vbInformation
GoTo virhe
End Select
Application.EnableEvents = True
Exit Sub
virhe:
Range("B1") = ""
Range("B1").Select
Application.EnableEvents = True
End Sub
jos syöttäjä laittaa itse pisteet!
Ohohooh olipa iso juttu!
En ehtinyt vielä kokeilla.
Siinä on ainakin se vika.