Excel-taulukossa haamukoodia?

Iso tiedosto

Hei,

Käytössä on Excel 2007 ja olen tehnyt sillä aika monimutkaista laskentaa, mutten nyt mitään tosi "ihmeellistä", paljon linkityksiä taulusta toiseen jne, mutta homma on pysynyt hanskassa.

Tiedoston koko on kuitenkin yhtäkkiä kasvanut yli 17 megaan(!) ja koko kone tietysti ihan jumissa.

Siirryin taulukon loppuun komennolla ctrl-end, jolloin en päätynytkään soluun bc54, kuten oletin, vaan soluun bf1048576 eli onko minulla nyt yli miljoona riviä, joilla muka on jotain?! Yritin poistaa nuo rivit, mutta siihen ei kapasiteetti riittänyt, vaan excel kaatuu.

Ylipäänsäkin jo yksinkertaisen etsi ja korvaa -komennon antaminen aiheuttaa ilmoituksen "toiminto vaikuttaa suureen määrään soluja ja voi kestää useita minuutteja" ja tietoisesti siis olen tehnyt taulukkoon jotain vain alueelle a1-bc54, ja ctrl-end siis vie soluun bf1048576.
(Sen kyllä olen mennyt tekemään, että olen maalannut vasemmasta ylänurkasta koko taulukon ja antanut määritellyt sarakkeen leveyden, mutta ei kai se tähän syynä ole?)

Miten pääsen mahdollisesta haamukoodista eroon?

Kiitos jo etukäteen teille jotka osaatte neuvoa!

6

896

    Vastaukset 6

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ThisWorkbook moduuliin...

      Private Sub Workbook_BeforeSave _
      (ByVal SaveAsUI As Boolean, Cancel As Boolean)
      For Each taulukko In ThisWorkbook.Worksheets
      x = taulukko.UsedRange.Rows.Count
      Next taulukko
      End Sub

      tallenna kun olet lisännyt koodiin ja avaa työkirja uudellen ja CTRL End ja testaa toimiiko... ;-)
      Keep Excelling
      Kunde

      • Iso Tiedosto

        Minä kun en makroista mitään tajua.... Eli menin taulukonvalitsimeen, oikea hiiren korva, Näytä koodi ja liitin tuon tekemäsi makron. Mutta pitääkö siinä tosiaan lukea "taulukko"? vai "sheet" vai "worksheet" vai kyseisen taulukon nimi? Kaikkia näitä kokeilin, tulos entinen eli päädyn yli miljoonannelle riville ja tiedoston koko kasvoi muutamalla tavulla ollen nyt 17754 kt. (Niin, ja tietysti tallensin työkirjani xlsm-muodossa.)

        nyyh... :'(


      • Iso Tiedosto kirjoitti:

        Minä kun en makroista mitään tajua.... Eli menin taulukonvalitsimeen, oikea hiiren korva, Näytä koodi ja liitin tuon tekemäsi makron. Mutta pitääkö siinä tosiaan lukea "taulukko"? vai "sheet" vai "worksheet" vai kyseisen taulukon nimi? Kaikkia näitä kokeilin, tulos entinen eli päädyn yli miljoonannelle riville ja tiedoston koko kasvoi muutamalla tavulla ollen nyt 17754 kt. (Niin, ja tietysti tallensin työkirjani xlsm-muodossa.)

        nyyh... :'(

        tolla tavalla mennään taulukon moduuliin. No nyt ollessasi VBA editoripuolella niin sulla pitäisi näkyä VBA project(työkirjan nimi tässä) ikkuna ja siinä pitäisi nyt olla avoinna sen taulukon koodi ikkuna mistä tulit edellä kuvaamallasi tavalla. Samassa ikkunassa näkyy vihreä excel merkkinen ikoni ja teksti ThisWorkbook. Tuplaklikkaa sitä ja liitä koodi ja tallenna.
        Antamani koodin tarkoitus olisi resetoida viimeisnen solu aina kun työkirja suljetaan. Tietenkin voi sen tehdä niinkin, että kun joku arvo muuttuu taulukossa niin tapahtuisi aina resetointi...

        Parempi tapa mennä ThisWorkbook moduuliin on klikata hiiren oikealla vasemmassa yläkulmassa olevaa excel ikonia (File/Tiedosto menun vasemmalla puolella. En nyt tiedä onko 2007 versiossa tätä enää?). Klikkaus avaa suoraan This workbook moduulin ja liitä koodi sinne ja tallenna.

        Toki kun tallennat 2007 muodossa, tiedoston koko kasvaa kanssa. Voit kokeilla tallentamista vanhemmissa Excel muodoissa ja todeta eron.

        No liitän nyt vielä yleismakron, jonka voit suorittaa mistä moduulista tahansa ja testata pelittääkö tää 2007 versiossa...
        eli siirrä kursori allaolevan koodipätkän jollekin riville ja paina F5. Kokeile sitten taulukoissa CTRL END onko viimeinen rivi todellakin oikea?

        Sub Resetoi()
        For Each taulukko In ThisWorkbook.Worksheets
        x = taulukko.UsedRange.Rows.Count
        Next taulukko
        End Sub

        kepp Excelling
        @Kunde


      • Iso Tiedosto
        kunde kirjoitti:

        tolla tavalla mennään taulukon moduuliin. No nyt ollessasi VBA editoripuolella niin sulla pitäisi näkyä VBA project(työkirjan nimi tässä) ikkuna ja siinä pitäisi nyt olla avoinna sen taulukon koodi ikkuna mistä tulit edellä kuvaamallasi tavalla. Samassa ikkunassa näkyy vihreä excel merkkinen ikoni ja teksti ThisWorkbook. Tuplaklikkaa sitä ja liitä koodi ja tallenna.
        Antamani koodin tarkoitus olisi resetoida viimeisnen solu aina kun työkirja suljetaan. Tietenkin voi sen tehdä niinkin, että kun joku arvo muuttuu taulukossa niin tapahtuisi aina resetointi...

        Parempi tapa mennä ThisWorkbook moduuliin on klikata hiiren oikealla vasemmassa yläkulmassa olevaa excel ikonia (File/Tiedosto menun vasemmalla puolella. En nyt tiedä onko 2007 versiossa tätä enää?). Klikkaus avaa suoraan This workbook moduulin ja liitä koodi sinne ja tallenna.

        Toki kun tallennat 2007 muodossa, tiedoston koko kasvaa kanssa. Voit kokeilla tallentamista vanhemmissa Excel muodoissa ja todeta eron.

        No liitän nyt vielä yleismakron, jonka voit suorittaa mistä moduulista tahansa ja testata pelittääkö tää 2007 versiossa...
        eli siirrä kursori allaolevan koodipätkän jollekin riville ja paina F5. Kokeile sitten taulukoissa CTRL END onko viimeinen rivi todellakin oikea?

        Sub Resetoi()
        For Each taulukko In ThisWorkbook.Worksheets
        x = taulukko.UsedRange.Rows.Count
        Next taulukko
        End Sub

        kepp Excelling
        @Kunde

        Olen nyt tehnyt kaiken mitä mieleen tulee ja vielä kiertänyt lipputangonkin, mutta päädyn vaan riville 1048576. Makrot on mielestäni sallittu, koska olen ruksinut kohdan Ota käyttöön kaikki8 makrot. Olen kokeillut pistää antamaasi kaavaa sekä taulukonvalitsimen oikealla klikkauksella että menemällä Kehitystyökalut / visual basic / inset module sekä insert class module ja mitä ikinä olen löytänyt, eikä mikään auta.... :(
        Eikä tuo yleismakrokaan auta, on ilmeisesti tämä 2007 jo liian fiksu.
        Mutta kiitos, Kunde silti että edes yrität auttaa.
        Minä alan nyt tehdä taulukkoa alusta (huoh!)


      • kopioi
        Iso Tiedosto kirjoitti:

        Olen nyt tehnyt kaiken mitä mieleen tulee ja vielä kiertänyt lipputangonkin, mutta päädyn vaan riville 1048576. Makrot on mielestäni sallittu, koska olen ruksinut kohdan Ota käyttöön kaikki8 makrot. Olen kokeillut pistää antamaasi kaavaa sekä taulukonvalitsimen oikealla klikkauksella että menemällä Kehitystyökalut / visual basic / inset module sekä insert class module ja mitä ikinä olen löytänyt, eikä mikään auta.... :(
        Eikä tuo yleismakrokaan auta, on ilmeisesti tämä 2007 jo liian fiksu.
        Mutta kiitos, Kunde silti että edes yrität auttaa.
        Minä alan nyt tehdä taulukkoa alusta (huoh!)

        käytettyä aluetta uuteen taulukkoon ja tallenna sitä...


      • Iso Tiedosto
        kopioi kirjoitti:

        käytettyä aluetta uuteen taulukkoon ja tallenna sitä...

        Koko aamu siinä meni, mutta nyt tiedosto on kunnossa ja kooltaan enää 1,4 mb :)


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

    Luetuimmat keskustelut

    1. Mikä on totta mikä ei?

      Onko juoru vai ei että nimeltä mainitsematon henkilö on tehnyt naiselle/naisille jotain joka on väärin?
      Kuhmo
      23
      1275
    2. Viesti sinulle

      Tiedät että tunteet ja ajatukset ja meillä on vahva yhteys mistä molemmat tiedetään. Odotan sinua ☀️
      Ikävä
      59
      1150
    3. Olen kironnut sinut alimpaan helvettiin

      Hyvää matkaa.
      Ikävä
      82
      911
    4. Mitä sinulle on tapahtunut lapsena

      Kun olet noin sairas päästäsi? Pikkupojalle ( Miehen kehossa)
      Ikävä
      104
      873
    5. Haluan purkaa vielä tuntemuksia

      Tykkään sinusta kovin paljon❤️ olen surullinen tilanteestasi ja siitä mitä me olemme yhdessä joutuneet kokemaan. Tämä ei
      Ikävä
      21
      767
    6. Lopetetaanko tämä

      Juttu ja mennään eteenpäin? Pystytkö?
      Ikävä
      120
      695
    7. Persujen Puhoksen retki

      Perussuomalaiset olivat tehneet turistibussimatkan Puhokseen. Tosin raukat olivat niin peloissaan, etteivät uskaltaneet
      Perussuomalaiset
      232
      692
    8. Tunteiden käsittely kertoo ihmisestä.

      Kun puhutaan "tavallisesta" ihmisestä, joka on suht tasapainoinen eläjä, niin puhutaan oikeastaan taitavasta tunteiden k
      Sinkut
      210
      679
    9. Kyllä tiedän sun

      Likaiset pelit selän takana
      Ikävä
      62
      668
    10. Onko tuo joku katkera nainen oikeasti

      Joka sinua syyttää?
      Ikävä
      99
      592
    11. Jopa poliisi nauraa paskaista pelkuripersuille

      Puhoksessa jäi "isänmaantoivot" bussiin vapisemaan :-D https://www.is.fi/politiikka/art-2000012319632.html
      Maailman menoa
      281
      552
    12. Just saying

      Mies joka antaa naiselle turvallisen olon, on seksikäs. Ei kieroja kikkoja ja haluaa olla vain sen yhden naisen mies.
      Ikävä
      104
      518
    13. Ketkä käy potkimassa ovia öisin?

      Enää ei naurata.
      Haapavesi
      8
      487
    14. Pilkettä sunnuntain silmässä

      😉 Jos tästä ketjusta löytyisi yksi ihminen, joka saisi sut hymyilemään tänään… Millainen hän olisi? Ei tarvitse kerto
      Sinkut
      73
      471
    15. 34
      455
    16. Tehdään yhdessä itsestämme

      Parhaat versiot❤️ Se vaatii molemmilta hyvää itsetuntoa!
      Ikävä
      39
      454
    17. Voisin antaa sulle nyt

      Halin❤️
      Ikävä
      47
      440
    18. Aika on tuonut järkeä

      Sä et tiedä musta kaikkea. Jos tietäisit, ymmärtäisit, miksi me ei sovita yhteen. Öljy ja vesi. En mä ole valehdellut,
      Järki ja tunteet
      42
      423
    19. Persut eivät uskaltaneet tulla ulos

      Bussiin jäivät https://www.iltalehti.fi/politiikka/a/d7f9fc57-dca0-40b8-9cb1-156e5872dba9
      Perussuomalaiset
      153
      411
    20. Päivän aivopieru Trumpilta

      Trump julisti sodan hyttysiä vastaan. Myös punkit ovat Trumpin sodan kohteena. Eikö vieläkään USA:n kansa tajua tuon uko
      Maailman menoa
      42
      409
    Aihe