- Liittynyt
- 22.10.2003
- Viestejä
- 448
Teet sinne koodiin esim. for lauseen, joka käy listan läpi solu solulta ja summaa soluja rekursiivisesti kunnes listan loppu tulee vastaan. VB:n helpeistä löytyy apua hakusanalla "For...Next Statement".Pitäisi tehdä Excelissä makro. Kahdella välilehdellä on molemmilla lista. Molemmat pitää kopioida kolmannelle välilehdelle peräkkäin ja niiden summa tulee laskea heti siihen alle. Tässä ei ole mitään ihmeellistä vaan ongelmana on se, että listojen pituus pitää olla vaihdeltavissa. Eli jos jommalle kummalle välilehdelle jolla alkuperäiset tiedot ovat, lisätään yksi tai useampi rivi ja ajetaan raportti (makro) uudestaan, niin raportissa kaikki rivit näkyvät ja ovat yhdessä pötkössä ja summa lasketaan oikein.
Muuten olen saanut makron toimimaan, mutta summan laskentaa en saa kuntoon. Kun makron koodia katsoo, niin summan laskennassa ilmoitetaan laskettava alue suhteessa siihen soluun, jossa laskentakaava on.
Eli kysymys on se, miten summan laskennan saisi toimimaan niin, että se laskee tietyltä riviltä alaspäin kaikki rivit yhteen siihen soluun asti, jossa kaava on? Kokeilin nauhoitta AutoSum-toiminnon, mutta se tekee VB-koodista silti samanlaisen kiinteän.
Koodi:
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]