vaikea excel ongelma päivämäärissä

pete-vnt

Olen tekemässä maksuvalmiusexceliä. Ainoaksi ongelmaksi on muodostunut miten voi kopioida kuukausia kahvalla. Eli ekassa solussa on päivämäärä muodossa toukokuu 11, seuraava kesäkuu 11, mutta kun yritän kopioida kahvalla, eipä onnistukaa. Miten tuollaisen voi kopioida niin , että voin kopioida sen vuoteen 2021 asti. Onko ideoita?

10

208

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • pete-vnt

      Korjaan, siis miten teen kopioitavan kaavan, että kun kirjoitan ensimmäiseen vaikka maaliskuu 11 se ampuu koko taulukon täyteen seuraavia kuukausia ilman vetokahvaa. Anteeksi sekoiluni.


      • pete-vnt
        kunde kirjoitti:

        niksinurkasta toka postaus

        http://keskustelu.suomi24.fi/node/9847941

        Kunde ihan tuosta ei ollut kyse. Vaan miten tehdä kaavan, joka ilman raahaamista tekee saman eli kirjoitat elokuu 11 niin se osaa allaoleviin kavoihin kirjoitetulla funktiolla luoda sarjan elokuu 11 , syyskuu 11, lokakuu 11, marraskuu 11 ...ja sitten kun tulee uuusi laskelma laitan ekaan soluun esim. tammikuu 12 ja sitten se se taas osaa ampua seuraavat kuukaudet.


    • eihäm tommosta ookaan joka osaa lukea sun ajatukset ja laittaa ne sarakkeeseen...
      jos haluat niin makrolla voi tehdä aktiivisesta solusta alkaen (oletuksena nyt sitten alaspäin...) antamastasi päiväyksestä alkaen loppupäiväykseen kuukausittain päiväykset ja muuttaa ne muotoon elokuu 11, syyskuu 11
      tommostako haluat....

      • pete-vnt

        jep. Nyt pääsit kärryille Kunde. Eli tismalleen sama asia kuin normi kaavoissakin eli miten saa kaavalla tehtyä sen, että kun syötän ekaan soluun tammikuu 11 ja laitan seuraavaan soluun kaavan. =A1 1 tulis helmikuu 11 jne.


      • pete-vnt kirjoitti:

        jep. Nyt pääsit kärryille Kunde. Eli tismalleen sama asia kuin normi kaavoissakin eli miten saa kaavalla tehtyä sen, että kun syötän ekaan soluun tammikuu 11 ja laitan seuraavaan soluun kaavan. =A1 1 tulis helmikuu 11 jne.

        täyttää aktiivisesta solusta alaspäin valittujen päiväysten väliset kuukaudet

        moduuliin...

        Sub TäytäKuukaudet()
        Dim Alku
        Dim Loppu
        Dim i As Long
        Dim testi
        Application.ScreenUpdating = False
        uusi1:
        Alku = Application.InputBox("Anna aloitus pvm muodossa 17.06.2011")
        If Not IsDate(Alku) Then
        MsgBox "päiväys virheellinen"
        Alku = ""
        GoTo uusi1
        End If
        uusi2:
        Loppu = Application.InputBox("Anna lopetus pvm muodossa 17.06.2011")
        If Not IsDate(Loppu) Then
        MsgBox "päiväys virheellinen"
        Loppu = ""
        GoTo uusi2
        End If

        testi = MsgBox("Täytetäänkö kuukaudet väliltä " & Alku & " - " & Loppu & "?", vbInformation vbYesNo)
        If testi = 6 Then
        ActiveCell = Alku
        For i = 1 To DateDiff("m", Alku, Loppu)
        ActiveCell.Offset(i, 0) = DateSerial(Year(ActiveCell.Offset(i - 1, 0)), Month(ActiveCell.Offset(i - 1, 0)) 1, Day(ActiveCell.Offset(i - 1, 0)))
        Next i
        Range(ActiveCell, ActiveCell.Offset(i - 1)).NumberFormat = "mmmm yy"
        End If
        Application.ScreenUpdating = True
        End Sub

        Keep EXCELing
        @Kunde


      • pete-vnt
        kunde kirjoitti:

        täyttää aktiivisesta solusta alaspäin valittujen päiväysten väliset kuukaudet

        moduuliin...

        Sub TäytäKuukaudet()
        Dim Alku
        Dim Loppu
        Dim i As Long
        Dim testi
        Application.ScreenUpdating = False
        uusi1:
        Alku = Application.InputBox("Anna aloitus pvm muodossa 17.06.2011")
        If Not IsDate(Alku) Then
        MsgBox "päiväys virheellinen"
        Alku = ""
        GoTo uusi1
        End If
        uusi2:
        Loppu = Application.InputBox("Anna lopetus pvm muodossa 17.06.2011")
        If Not IsDate(Loppu) Then
        MsgBox "päiväys virheellinen"
        Loppu = ""
        GoTo uusi2
        End If

        testi = MsgBox("Täytetäänkö kuukaudet väliltä " & Alku & " - " & Loppu & "?", vbInformation vbYesNo)
        If testi = 6 Then
        ActiveCell = Alku
        For i = 1 To DateDiff("m", Alku, Loppu)
        ActiveCell.Offset(i, 0) = DateSerial(Year(ActiveCell.Offset(i - 1, 0)), Month(ActiveCell.Offset(i - 1, 0)) 1, Day(ActiveCell.Offset(i - 1, 0)))
        Next i
        Range(ActiveCell, ActiveCell.Offset(i - 1)).NumberFormat = "mmmm yy"
        End If
        Application.ScreenUpdating = True
        End Sub

        Keep EXCELing
        @Kunde

        wow..mikä temppu.

        Suurkiitos Kunde, oon ihaillu jo vuosia sun osaamista ja taas ei voi muuta kuin kehua. Toimii todella hyvin..Siihen ekaan soluun jäi se syötetty päivämäärä, miten senkin sais muotoiltuu samallatavalla , kuin kaikki muutkin eli samaan formaattiin kesäkuu 11 heinäkuu 11 jne. vai saako sitä?


      • pete-vnt kirjoitti:

        wow..mikä temppu.

        Suurkiitos Kunde, oon ihaillu jo vuosia sun osaamista ja taas ei voi muuta kuin kehua. Toimii todella hyvin..Siihen ekaan soluun jäi se syötetty päivämäärä, miten senkin sais muotoiltuu samallatavalla , kuin kaikki muutkin eli samaan formaattiin kesäkuu 11 heinäkuu 11 jne. vai saako sitä?

        joo bugi oli , muuttuja oli väärää tyyppiä sille ekalle solulle(String kun pitäs olla Date)...
        Pikkuvika ja helppo korjata. Kumma, kun en itse huomannut testatessa tota eroa...

        ActiveCell = Alku
        ActiveCell = CDate(Alku)

        mutta tossa korjattu versio

        Option Explicit
        Sub TäytäKuukaudet()
        Dim Alku
        Dim Loppu
        Dim i As Long
        Dim testi
        Application.ScreenUpdating = False
        uusi1:
        Alku = Application.InputBox("Anna aloitus pvm muodossa 17.06.2011")
        If Not IsDate(Alku) Then
        MsgBox "päiväys virheellinen"
        Alku = ""
        GoTo uusi1
        End If
        uusi2:
        Loppu = Application.InputBox("Anna lopetus pvm muodossa 17.06.2011")
        If Not IsDate(Loppu) Then
        MsgBox "päiväys virheellinen"
        Loppu = ""
        GoTo uusi2
        End If

        testi = MsgBox("Täytetäänkö kuukaudet väliltä " & Alku & " - " & Loppu & "?", vbInformation vbYesNo)
        If testi = 6 Then
        ActiveCell = CDate(Alku)
        For i = 1 To DateDiff("m", Alku, Loppu)
        ActiveCell.Offset(i, 0) = DateSerial(Year(ActiveCell.Offset(i - 1, 0)), Month(ActiveCell.Offset(i - 1, 0)) 1, Day(ActiveCell.Offset(i - 1, 0)))
        Next i
        Range(ActiveCell, ActiveCell.Offset(i - 1)).NumberFormat = "mmmm yy"
        End If
        Application.ScreenUpdating = True
        End Sub
        Keep EXCELing
        @Kunde

        kiitti palautteesta ;-)


    • Musta tuntuu, että ainoa keino tehdä haluamasi on ohjelmointi.
      Kahvasta kopiointi onnistuu kyllä, esimerkiksi seuraavasti:
      Kirjoitat ensimmäiseen soluun Tammikuu 11 (vuosi).
      Muotoilet solun sisällön
      - Aloitus-välilehden
      - Lukumuotoilu-pudotusvalikon
      - Lisää numeromuotoja -komennolla esiin tulevassa valintaikkunassa.
      Valitse luokka Oma ja kirjoita Laji-kenttään kkkk vv.

      Sen jälkeen voit kopioida arvon vetämällä kahvaa toisella hiiren painikkeella ja valitsemalla pikavalikosta viimeisen käskyn. Tee esiin tulevassa valintaikkunassa Yksikkö-kohdassa vielä valinta Kuukausi.

    • Laitat A2:een =päiväys(vuosi(a1);kuukausi/(a1) 1;päivä(a1)) ja sitten vedät sen alas.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Asiakkaalle ei myyty energiajuomaa - tuomio tuli syrjinnästä

      Vaikka oli ilmeisesti täysi-ikäinen. Tosin ei lapsiakaan saisi syrjiä, koska oppivat helposti itsekin syrjimään, jos koh
      Maailman menoa
      61
      3619
    2. Miksi aina pitää kilpailla parhaudesta?

      Mua ärsyttää se, että kaikki kilpailut ja visailut keskittyvöt aina siihen, kuka on paras missäkin. Tänäkin aamuna tuli
      Sinkut
      77
      2955
    3. Pakkoruotsista luopumalla kymmenien miljoonien säästöt

      Pakkoruotsin opiskelun kustannuksista ei ole juurikaan tehty kustannusselvityksiä, mutta joidenkin arvioiden mukaan siit
      Maailman menoa
      79
      2765
    4. Mitä muutoksia tekisit

      kaivatullesi? Miten on? Muista olla REHELLINEN 📸
      Ikävä
      96
      2577
    5. Luterilaisen kirkon koko kastekaava on väärä

      Uudessa testamentissa on kaksi täysin ristiriidassa olevaa kastekäskyä Matt 28:19 ja Ap. t. 2:38. Matteuksen evankeluimi
      Kaste
      41
      2314
    6. Miten Yxäri iskettiin?

      Voisin tässä unta odotellessani kertoa, miten mieheni lähestyi minua. Tunsimme entuudestaan. Hän kyseli minulta aina j
      Sinkut
      207
      2006
    7. Seksuaalinen ahdistelu, naisten vähättely ja törkeä käytös naisia kohtaan kukkii rakennustyömailla

      Tällainen lienee ihan tavallisista kaikilla "äijävaltaisilla" työpaikoilla. Kaikki miesvaltaiset alat eivät ole toksise
      Maailman menoa
      152
      2000
    8. Kerro minulle

      Miksi teit niinkuin teit? Miksi kielsit tunteesi minua kohtaan. Miksi et halunnut että tiedän oikeasti mitä tunnet. Etkö
      Ikävä
      66
      1955
    9. Rakkaalle J miehelle.

      Hitto mulla on sua ikävä. Haluisin heti nyt tulla sun syliin ja suudella sua.ja, ja ja... Hirveä ikävä.
      Ikävä
      90
      1880
    10. Kristinuskossa Isän ja Pojan ja Pyhän Hengen nimessä

      Jeesuksen kehoitus kastamiseksi Isän ja Pojan ja PH:n nimeen. Matt 28:19: "Menkää siis ja tehkää kaikki kansat minun
      Kaste
      388
      1839
    Aihe