Aika-muodon kirjoittaminen

Kun exceliin kirjoittaa aika-muotoilulla soluun esim 12:30, olisiko tämä mitenkään tehtävissä helpommin, eli ilman kaksoispistettä? Kun syötettäviä aikoja on paljon, tämä on yllättävän aikaa vievää. Eli jos soluun kirjoittaisi vaikkapa 1230, excel osaisi itse muuttaa sen muotoon 12:30. Jos tämä ei mitenkään päin ole mahdollista, kertokaa myös se. Kiitos!
9740
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

Taulukon moduuliin ja oletuksena ,että syötät tietoja A-sarakkeeseen
Intersect(Target, Columns(1))

muuta itsellesi sopivaksi

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range, h As Integer
Set r = Intersect(Target, Columns(1))
If r Is Nothing Then Exit Sub
Set r = r.Cells(1)
If IsNumeric(r) Then
With r
If .Value >= 100 Then h = Left(.Value, Len(.Value) - 2) Else h = 0
Application.EnableEvents = False
.Value = h / 24 Right(.Value, 2) / 1440
.NumberFormat = "hh:mm"
Application.EnableEvents = True
End With
End If
End Sub

Äänestä
  • Taulukon moduuliin ja oletuksena ,että syötät tietoja A-sarakkeeseen
    Intersect(Target, Columns(1))

    muuta itsellesi sopivaksi

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim r As Range, h As Integer
    Set r = Intersect(Target, Columns(1))
    If r Is Nothing Then Exit Sub
    Set r = r.Cells(1)
    If IsNumeric(r) Then
    With r
    If .Value >= 100 Then h = Left(.Value, Len(.Value) - 2) Else h = 0
    Application.EnableEvents = False
    .Value = h / 24 Right(.Value, 2) / 1440
    .NumberFormat = "[hh]:mm"
    Application.EnableEvents = True
    End With
    End If
    End Sub

    Äänestä

Saisinko tuon vastauksen jotenkin rautalangasta väännettynä, kun en osaa vba:ta kovinkaan hyvin. Muutettavat ajat tulevat soluihin E9-22, F9-22, G9-22 ja H9-22. Yritin laittaa tuon ylimmän lauseen moduliin mutta herjaili kovasti?

Äänestä
  • ...ja jos vielä jaksat tyhmää neuvoa niin miten koodin saa toimintaan sen jälkeen kun on sen kirjoittanut? yritin laittaa sen play-kohdasta, mutta silloin vain aukeaa ikkuna "Macros" ja kone kysyy makron nimeä. Eli?

    Äänestä

  • Miia kirjoitti:

    ...ja jos vielä jaksat tyhmää neuvoa niin miten koodin saa toimintaan sen jälkeen kun on sen kirjoittanut? yritin laittaa sen play-kohdasta, mutta silloin vain aukeaa ikkuna "Macros" ja kone kysyy makron nimeä. Eli?

    Klikkaa hiiren oikealla taulukonvalinnassa haluamasi taulukon päällä ja valitse avautuvasta ikkunasta "Näytä koodi" ja Vba editori aukeaa ja liität sinne allaolevan koodin

    Nyt kun kirjoittelet lukuja alueelle E9:H22 niin koodi suorittaa automaattisesti muotoilun

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim r As Range, h As Integer
    Set r = Intersect(Target, Range("E9:H22"))
    If r Is Nothing Then Exit Sub
    Set r = r.Cells(1)
    If IsNumeric(r) Then
    With r
    If .Value >= 100 Then h = Left(.Value, Len(.Value) - 2) Else h = 0
    Application.EnableEvents = False
    .Value = h / 24 Right(.Value, 2) / 1440
    .NumberFormat = "[hh]:mm"
    Application.EnableEvents = True
    End With
    End If
    End Sub

    Äänestä

  • Kunde kirjoitti:

    Klikkaa hiiren oikealla taulukonvalinnassa haluamasi taulukon päällä ja valitse avautuvasta ikkunasta "Näytä koodi" ja Vba editori aukeaa ja liität sinne allaolevan koodin

    Nyt kun kirjoittelet lukuja alueelle E9:H22 niin koodi suorittaa automaattisesti muotoilun

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim r As Range, h As Integer
    Set r = Intersect(Target, Range("E9:H22"))
    If r Is Nothing Then Exit Sub
    Set r = r.Cells(1)
    If IsNumeric(r) Then
    With r
    If .Value >= 100 Then h = Left(.Value, Len(.Value) - 2) Else h = 0
    Application.EnableEvents = False
    .Value = h / 24 Right(.Value, 2) / 1440
    .NumberFormat = "[hh]:mm"
    Application.EnableEvents = True
    End With
    End If
    End Sub

    Kiitos!

    Äänestä

  • Kunde kirjoitti:

    Klikkaa hiiren oikealla taulukonvalinnassa haluamasi taulukon päällä ja valitse avautuvasta ikkunasta "Näytä koodi" ja Vba editori aukeaa ja liität sinne allaolevan koodin

    Nyt kun kirjoittelet lukuja alueelle E9:H22 niin koodi suorittaa automaattisesti muotoilun

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim r As Range, h As Integer
    Set r = Intersect(Target, Range("E9:H22"))
    If r Is Nothing Then Exit Sub
    Set r = r.Cells(1)
    If IsNumeric(r) Then
    With r
    If .Value >= 100 Then h = Left(.Value, Len(.Value) - 2) Else h = 0
    Application.EnableEvents = False
    .Value = h / 24 Right(.Value, 2) / 1440
    .NumberFormat = "[hh]:mm"
    Application.EnableEvents = True
    End With
    End If
    End Sub

    Saisinko kysyä, mitä tarkoittaa tuo "hiiren oikealla taulukonvalinnassa haluamasi taulukon päällä"? Lähinnä tuo "taulukonvalinnassa"?

    Kokeilin tuota Resurssienhallinnassa Excel-taulukon kohdalla, mutta vaihtoehdoksi ei tullut "Näytä koodi", vaan ne tavalliset Avaa, Uusi, Tulosta, Lähetä, Kopioi, Leikkaa jne.

    Äänestä

  • sanna kirjoitti:

    Saisinko kysyä, mitä tarkoittaa tuo "hiiren oikealla taulukonvalinnassa haluamasi taulukon päällä"? Lähinnä tuo "taulukonvalinnassa"?

    Kokeilin tuota Resurssienhallinnassa Excel-taulukon kohdalla, mutta vaihtoehdoksi ei tullut "Näytä koodi", vaan ne tavalliset Avaa, Uusi, Tulosta, Lähetä, Kopioi, Leikkaa jne.

    Kun sinulla on Excel auki vasemmassa alareunassa on Taul1,Taul2 ja Taul3, napsautat sieltä haluamasi taulukkovalitsimen päällä hiiren oikealla. Ilmestyy valikko josta löytyy "Näytä koodi"

    Äänestä

  • paavali kirjoitti:

    Kun sinulla on Excel auki vasemmassa alareunassa on Taul1,Taul2 ja Taul3, napsautat sieltä haluamasi taulukkovalitsimen päällä hiiren oikealla. Ilmestyy valikko josta löytyy "Näytä koodi"

    Kiitos Paavali. Minulle valkeni nyt aivan uusi "maailma" uusine mahdollisuuksineen :)

    Mitähän kaikkea tuolla VBA:lla saakaan aikaan...

    Äänestä

Kommentoi aloitusta


Miia kirjoitti:

Kun exceliin kirjoittaa aika-muotoilulla soluun esim 12:30, olisiko tämä mitenkään tehtävissä helpommin, eli ilman kaksoispistettä? Kun syötettäviä aikoja on paljon, tämä on yllättävän aikaa vievää. Eli jos soluun kirjoittaisi vaikkapa 1230, excel osaisi itse muuttaa sen muotoon 12:30. Jos tämä ei mitenkään päin ole mahdollista, kertokaa myös se. Kiitos!

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