Päiväys ja isotkirjaimet

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ä.
6560
Äänestä

Muut lukivat myös

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.

Äänestä
  • Nollia puuttuvien numeroinen tilalla, mutta hain idiootti varmaa tapaa :)

    Äänestä

  • kavi kirjoitti:

    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

    Äänestä

  • jos syöttäjä laittaa itse pisteet!

    Äänestä

  • Kunde kirjoitti:

    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

    Ohohooh olipa iso juttu!
    En ehtinyt vielä kokeilla.

    Äänestä

  • ei toimi kirjoitti:

    jos syöttäjä laittaa itse pisteet!

    Siinä on ainakin se vika.

    Äänestä

Ketjusta on poistettu 1 sääntöjenvastainen viesti.

Kommentoi aloitusta


kavi kirjoitti:

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ä.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu