X-aks. skaalaus autom, ku mahd valita luvut 0-50 vuotta? Ongelma: nyt varaa tilaa 50v asti akselille

Tanex

Hei,

olen tehnyt excel(2013) pohjaista laskuria ja minulla olisi pieni ongelma:

Laskurin pitää pystyä käsittelemään 50-vuoden pitoajalle asti investointeja.
Kaavion käppyrät piirtyvät aivan oikein, mutta tuo x-akseli on nyt ongelma.

X-akselin alueeksi kaaviossa on otettu alue tuonne 50 vuoteen asti ja JOS lauseella on näkyviin jätetty vain valittuun pitoaikaan asti luvut. Jos esimerkiksi syöttötietona on pitoajalle laitettu 30 vuotta, niin kuvaaja jättää tyhjää tilaa valmiiksi sinne 50 vuoteen asti (x-akselille), joka on korkein mahdollisen ”investoinnin pitoaika” laskurissa.

Nämä tyhjät, valmiiksi varatut, tilat pitäisi siis saada jäämään automaattisesti pois...

Ei siis skaalaa oikein, vaikka esimerkiksi vuodesta 31-50 tuloksena on ""/PUUTTUU()/jne.

Ratkaisuna ei ole naputella turhia pois kaavion asetuksista, vaan tuo pitäisi saada toimimaan automaattisesti.

Jos joku ymmärsi, mitä ajan takaa ja osaisi auttaa :)

Tanja

1

283

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Tämmöinen

      Määrittele nimetyt alueet x_arvot ja y_arvot (Formulas - Name manager) ja laita nimet sivukohtaisiksi. Käytä kaaviossa näitä nimiä: 
      =SERIES(Sheet1!$D$1; Sheet1!x_arvot; Sheet1!y_arvot; 1)
      Lisäksi, anna solu(je)n, jolla muutat pitoaikaa nimeksi Syöttö.
       
      Laita seuraava makro k.o. sivun moduliin ja tee siihen tarvittavat muutokset. Joka kerta kun alue "Syöttö" muuttuu, makro muuttaa alueiden " x_arvot" ja "y_arvot" määrityksiä siten, että ne käsittävät vain kaavioon tolevat rivit, ts. ne joilla on kelvollinen numero sarakkeessa Cx. 

      Private Sub Worksheet_Change(ByVal Target As Range)

          Dim r0: r0 = 1  ' otsikkorivi
          Dim r           ' tutkittava rivi
          Dim Cx: Cx = 3  ' x-arvojen sarake
          Dim Cy: Cy = 4  ' y-arvojen sarake
          Dim a: a = 0    ' ensimmäinen rivi
          Dim l           ' viimeinen rivi
          
          If Not Intersect(Target, Range("Syöttö")) Is Nothing Then
              With WorksheetFunction
                  For r = r0   1 To r0   50
                      If a = 0 Then If .IsNumber(Cells(r, Cx)) Then a = r
                      If a > 0 And Not .IsNumber(Cells(r, Cx)) Then Exit For
                      l = r
                  Next r
              End With
              ActiveWorkbook.Names("x_arvot").RefersToR1C1 = "=Sheet1!R" & a & "C" & Cx & ":R" & l & "C" & Cx
              ActiveWorkbook.Names("y_arvot").RefersToR1C1 = "=Sheet1!R" & a & "C" & Cy & ":R" & l & "C" & Cy
          End If
          
      End Sub

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

    Luetuimmat keskustelut

    1. Valtion alijäämä = yritystukien määrä = 10 mrd. euroa

      Mutta persut eivät vaan suostu tasapainottamaan valtion budjettia, vaikka yritystuet on tiedetty haitallisiksi. Miksi p
      Maailman menoa
      121
      8676
    2. Suomi käyttää sosiaalietuuksiin suhteessa eniten rahaa koko maailmassa

      Suomi käyttää sosiaaliturvaetuuksiin enemmän rahaa suhteessa bruttokansantuotteeseen kuin mikään muu maa maailmassa. Su
      Maailman menoa
      430
      7927
    3. Mitä hyvää rikkaiden hyysääminen Suomelle tuonut?

      Minäpä vastaan: ei yhtikäs mitään, vaan pelkkää vahinkoa. Demareiden ansiosta Suomen valtio oli käytännössä vielä 1980-
      Maailman menoa
      10
      5518
    4. Grahn-Laasonen: "Kansalainen joutuu pettymään, jos demareita äänestää"

      Ministeri viittaa tuoreeseen Helsingin Sanomien juttuun, jossa demarijohtajan keinoja Suomen suunnan muuttamiseksi esite
      Maailman menoa
      82
      5159
    5. Vähän fiksumpi Nimi kisa ? :=)

      Kirjoita teidän etunimet allekkain. Jos nimissä on joku kirjain sama, poista se. Tee sama tarkistus kaikille kirjaimill
      Ikävä
      29
      4989
    6. Mikä on suurin luonne- eroavuus sinussa

      Ja kaivatussasi? Vaikuttaako se huonoon vai hyvään suuntaan siinä, että teistä voisi tulla jotain?
      Ikävä
      237
      3487
    7. Mitä haluaisit sanoa tänään hänelle?

      Rakastamallesi ihmiselle.
      Ikävä
      125
      3204
    8. Kenen haluaisit voittavan Amazing Racen: Tuomas ja Esko, Millu ja Karoliina vai Maria ja Vilma?

      Amazing Race Suomi huipentuu lauantaina finaaliin. Jäljellä on kolme paria ja tiedossa on tehtäviä, jotka järkyttävät os
      Tv-sarjat
      35
      3096
    9. Tytti Tuppurainen häpäisi Suomen epäisänmaallisella lausunnollaan USA:n ulkoministerille Rubiolle.

      https://www.is.fi/politiikka/art-2000011816267.html Miksi Tytti Tuppurainen päästetään antamaan typeriä lausuntoja noin
      Maailman menoa
      85
      3089
    10. Gallup: Katsotko Salkkareita tai oletko katsonut?

      Salatut elämät on suomalaisten suosikkisarja vuosikymmenestä toiseen. Salkkareiden parissa viettää aikaa sukupolvet laps
      Tv-sarjat
      25
      2690
    Aihe