"Kelluva rivi"?

kaavoittaja.

Taulukko, jossa on vaikkapa 6 saraketta ja 10 riviä. Alin rivi on kaavarivi jossa lasketaan yläpuolisten solujen summa, keskiarvo, jne. Onko mahdollista tehdä kaavarivistä ikään kuin kelluva eli kun riviin/soluun tulee tietoa niin Excel lisää automaattisesti uuden tyhjän rivin ko. rivin/solun alapuolelle ja kaavarivi "painuu alemmas"?

4

774

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Jos sijoitat summa/koosterivin varsinaisen aineistosi yläpuolelle, niin ko. ongelma häviää "kuin taikaiskusta". Varsinkin, jos huolehdit kaavojen riittävistä aluelaajuuksista alaspäin.

      Jos vältämättä haluat ko. yhteenvetorivin olevan aineiston alapuolella, niin ehkä pääset jonkinlaiseen tulokseen jakamalla taulukon jostain n. rivin 1000 kohdalta. Summarivinä on siis rivi 1001 ja sen yläpuolella oleva taulukon osa rullaa.

      • taulukon moduuliin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Long
        On Error Resume Next
        Application.EnableEvents = False
        vika = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
        Range("A" & vika).EntireRow = ""
        vika = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
        Range("A" & vika 2).FormulaR1C1 = "=SUM(R[-21]C:R[-1]C)"
        Range("B" & vika 2).FormulaR1C1 = "=SUM(R[-21]C:R[-1]C)"
        Range("C" & vika 2).FormulaR1C1 = "=SUM(R[-21]C:R[-1]C)"
        'näyttää 5 viimeistä tietoa, muuta lukua
        Application.GoTo Range("A" & vika - 4), True
        Application.EnableEvents = True
        End Sub


      • kunde kirjoitti:

        taulukon moduuliin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Long
        On Error Resume Next
        Application.EnableEvents = False
        vika = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
        Range("A" & vika).EntireRow = ""
        vika = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
        Range("A" & vika 2).FormulaR1C1 = "=SUM(R[-21]C:R[-1]C)"
        Range("B" & vika 2).FormulaR1C1 = "=SUM(R[-21]C:R[-1]C)"
        Range("C" & vika 2).FormulaR1C1 = "=SUM(R[-21]C:R[-1]C)"
        'näyttää 5 viimeistä tietoa, muuta lukua
        Application.GoTo Range("A" & vika - 4), True
        Application.EnableEvents = True
        End Sub

        oikeasti vaikka näin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Long
        Dim kaava As String
        On Error Resume Next
        Application.EnableEvents = False
        vika = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
        Range("A" & vika).EntireRow = ""
        vika = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
        kaava = "A1:A" & vika
        Range("A" & vika 2).Formula = "=SUM(" & kaava & ")"
        kaava = "B1:B" & vika
        Range("B" & vika 2).Formula = "=COUNTA(" & kaava & ")"
        kaava = "C1:C" & vika
        Range("C" & vika 2).Formula = "=AVERAGE(" & kaava & ")"
        'näyttää 5 viimeistä tietoa, muuta lukua
        Application.GoTo Range("A" & vika - 4), True
        Application.EnableEvents = True
        End Sub


      • kaavoittaja
        kunde kirjoitti:

        oikeasti vaikka näin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Long
        Dim kaava As String
        On Error Resume Next
        Application.EnableEvents = False
        vika = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
        Range("A" & vika).EntireRow = ""
        vika = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
        kaava = "A1:A" & vika
        Range("A" & vika 2).Formula = "=SUM(" & kaava & ")"
        kaava = "B1:B" & vika
        Range("B" & vika 2).Formula = "=COUNTA(" & kaava & ")"
        kaava = "C1:C" & vika
        Range("C" & vika 2).Formula = "=AVERAGE(" & kaava & ")"
        'näyttää 5 viimeistä tietoa, muuta lukua
        Application.GoTo Range("A" & vika - 4), True
        Application.EnableEvents = True
        End Sub

        Kiitos vastauksesta. Kokeilin asentaa tuota, mutta en saanut sitä toimimaan.


        Nyt tarvitaan hieman rautalankaa... Office 2010 käytössä.


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

    Luetuimmat keskustelut

    1. Muistatko kaivattusi

      Syntymäpäivän? Päivämäärä riittää. 🌹
      Ikävä
      138
      2091
    2. 121
      1445
    3. Atte Harjanne usuttaa eläkeläisvihaan

      Karmeeta kuultavaa aamun uutislähetyksessä, kun Atte Harjanne, tunnettu eläkeläisvihaaja, suitsii sukupolvien välistä v
      Maailman menoa
      333
      1223
    4. Postimerkki kirjeeseen ja kortiin maksaa jo 3 euroa!

      https://yle.fi/a/74-20229241 Kyllä tämä on järjetön hinta, Posti tuhoaa itsensä tällä hinnalla, täytyyhän Postin "Herro
      Maailman menoa
      140
      1180
    5. IS: Väitöstutkimus - Pyöräilybuumi oli pelkkä kupla!

      Pyöräilybuumista paljastui karu totuus Väitöstutkimuksen mukaan suuri suomalainen pyöräilyrenessanssi olikin vain pelkk
      Maailman menoa
      3
      1151
    6. Keitä oli kunnanjohtajan erottajat?

      Kouluja ei ole varaa ylläpitää mutta johtajasopimukseen palaa 100000 euroa ja uuden johtajan hakuprosessi maksaa kymmeni
      Ilmajoki
      64
      1150
    7. Miten pääsee ujon naisen pään sisään?

      Siis tosi tosi tosi ujon...
      Ikävä
      141
      1129
    8. Mulla on ikävä

      sua nainen ja niitä katseita ❤️ Lupaatko, että katseemme kohtaa taas?
      Ikävä
      49
      1089
    9. Mene perheinesi arkkiin - kasteelle !

      Juutalaiset oli hyvin lapsirakkaita, mitään ehkäisyä ei käytetty. Perheissä oli paljon lapsia. Viiden koko perheen kast
      Kaste
      470
      957
    10. Milloin bikineistä

      Tuli juhla tai esiintymis asu? Pikkasen harkintaa vois käyttää. Bikinit kuuluvat uimarannalle. No, mitä maailman tähdet
      Maailman menoa
      98
      955
    Aihe