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

92

    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. Kuka maksaa Elokapinan töhrinnän?

      Vieläkö tukevat Elokapinan toimintaa mm. Aki Kaurismäki, Sofi Oksanen, Paleface, Koneen Säätiö ym. ? Kenen kukkarosta ot
      Maailman menoa
      583
      3868
    2. Muuttaisiko viesti mitään

      Haluaisin laittaa viestin, mutta muuttaisiko se mitään. Oletko yhä yhtä ehdoton vai valmis kyseenalaistamaan asenteesi j
      Ikävä
      48
      3318
    3. Jos sinulla kiinnostaisi

      Nyt, miten antaisit minun ymmärtää sen?
      Ikävä
      38
      2791
    4. Valpuri Nykänen elokapina

      Aikas kiihkomielinen nainen kun mtv:n uutiset haastatteli. Tuollaisiako ne kaikki on.
      Maailman menoa
      66
      2749
    5. Oon vähän ihastunut suhun nainen

      Vaikka toisin jokin aika sitten väitin mutta saat mut haluamaan olemaan parempi ihminen :)
      Ikävä
      19
      2134
    6. Jospa me nähtäisiin

      Sinne suuntaan menossa🤣
      Ikävä
      32
      2081
    7. Se että tavattiin

      Hyvin arkisissa olosuhteissa oli hyvä asia. Olimme molemmat lähestulkoon aina sitä mitä oikeasti olemme. Tietysti pieni
      Ikävä
      12
      1967
    8. Elämä jatkuu

      Onneksi ilman sinua
      Ikävä
      29
      1855
    9. Oot pala mun sielua

      Jos toivot, että lähden mä lähden. Jos toivot, että jään mä jään. Koen, että olet mun sielunkumppani, mutta lämmöllä my
      Ikävä
      17
      1800
    10. Hei T........

      Ajattelin kertoa että edelleen välillä käyt mielessä.... En ole unohtanut sinua, enkä varmasti ikinä... Vaikka on kulunu
      Suhteet
      47
      1749
    Aihe