Excel temppuilee

Makron suoritus jää kesken funktionkutsussa yleensä aina tietyllä rivillä. Mitään virheilmoitusta ei tule, eikä On Error reagoi. Excel toimii sen jälkeen epävakaasti ja yleensä se kaatuu melko satunnaisessa tilanteessa. Calculate vilkkuu koko ajan n. sekunnin välein.
Muutamaa riviä aiemmin makro kopioi erään alueen toiseen paikkaan. Muutama solu on tyhjä. Uudessa paikassa yksi tyhjistä soluista ei olekaan tyhjä (<>""). Siinä ei näyttäisi olevan mitään, mutta se pitää silti erikseen tyhjätä.
Onko arvauksia? Ehdolliset muotoilut tekivät kiusaa, mutta nyt nekin on poistettu.
13237
Äänestä

Muut lukivat myös

Vastaukset 13

Vanhimmat

Onko tämä nyt sitä kuuluisaa Excel-laatua?
Samankaltaisia käsittämättömiä nyrjähdyksiä löytyy monista Microsoftin tuotteista. Ja asiaa Microsoftin edustajalta tiedusteltaessa vastaus kuuluu: Tätä ei voi katsoa viaksi, koska uusimmassa päivityksessä samaa ei esiinny.

Äänestä

Ohimennen mainittuna näitä "tyhjiä" soluja kannattaa tutkiskella jollakin heksaeditorilla. Kaikki merkit kun eivät välttämättä näy.

Äänestä
  • =code(A1) ei tunnista mitään tuossa solussa, saa arvoksi #VALUE!
    =len(A1) saa arvokseen 0.
    =A1 näyttää tyhjää (normaali tyhjä = 0).

    Äänestä

  • Range("A1").Value = Empty

    Äänestä

  • #VALUE! -arvoa ei tule, jos testin IF(A<>""... tilalle laittaa IF(ISNUMBER(A1)....
    Olisi silti hauska tietää, mikä tekee solusta arvottoman ja mikä kaataa Excelin.

    Äänestä

  • Opettele käyttämään heksaeditoria.

    Äänestä

  • Virheenetsinnästä kirjoitti:

    Opettele käyttämään heksaeditoria.

    Voitko avata hieman enemmän.

    Äänestä

  • Office_365 kirjoitti:

    Voitko avata hieman enemmän.

    Kurkistapa tänne:
    https://fi.wikipedia.org/wiki/Heksaeditori

    tai tänne:
    https://en.wikipedia.org/wiki/Hex_editor

    Hyviä heksaeditoreita löytyy vaikka millä mitalla. Esimerkiksi:
    Free hex editor: https://en.wikipedia.org/wiki/Frhed
    http://frhed.sourceforge.net/en/

    Myös "portable"-heksaeditoreita on tarjolla. Esimerkiksi:
    http://mh-nexus.de/en/downloads.php?product=HxD
    (valitse itsellesi sopiva "portable"-versio. Löytyy myös suomenkielisenä)

    Äänestä

  • Office_365 kirjoitti:

    #VALUE! -arvoa ei tule, jos testin IF(A<>""... tilalle laittaa IF(ISNUMBER(A1)....
    Olisi silti hauska tietää, mikä tekee solusta arvottoman ja mikä kaataa Excelin.

    LAita koodin pätkä ja kerro millä rivillä tulee virhe , niin voisi paremmin kommentoida...

    Äänestä

  • Solussa ei ole näkymättömiä merkkejä, vaan se on "Empty". Ongelma ei ole, "mitä" vaan "miksi". En keksi heksaeditorille tässä yhteydessä mitään käyttöä. Kiitos kuitenkin linkistä.

    Laskenta on ennen kopiointia manuaalilla, mutta Excel lähtee silti kopioinnin jälkeen kelaamaan laskentakaavoja läpi ja eksyy sitten aina jonnekin. Pääsin ongelmasta ehkä vähän pielavetisellä ratkaisulla, kun laitoin kaikkiin laskentafunktioihin (joiden kanssa ei ole ennen ollut ongelmia) On Error Resume Next.

    Äänestä

  • Oletko aivan varma, että Excelissä alunperin käyttämäsi testi tunnistaa kaikki mahdolliset ei-tyhjät merkkijonot ei-tyhjiksi? On näet hyvin yksinkertaista löytää merkkijono, joka ei ole tyhjä, mutta joka ruudulle tulostettuna näyttää tyhjältä. Yksinkertaisin tällainen on tietysti välilyönti (char 32), mutta se ei ole ainoa.
    Heksaeditorilla voit ongelmitta tarkastella solujen todellista sisältöä.

    Äänestä

  • Virheenetsinnästä kirjoitti:

    Oletko aivan varma, että Excelissä alunperin käyttämäsi testi tunnistaa kaikki mahdolliset ei-tyhjät merkkijonot ei-tyhjiksi? On näet hyvin yksinkertaista löytää merkkijono, joka ei ole tyhjä, mutta joka ruudulle tulostettuna näyttää tyhjältä. Yksinkertaisin tällainen on tietysti välilyönti (char 32), mutta se ei ole ainoa.
    Heksaeditorilla voit ongelmitta tarkastella solujen todellista sisältöä.

    Miten ajattelit käyttää heksaeditoria? Solusta ei saa kopioitua mitään, koska siinä ei ole mitään. Se on "Empty", siis ainakin Excelin mielestä se on ymmärtääkseni vielä tyhjempi kuin tyhjä merkkijono. Jokin sisäinen kuvaus silläkin varmasti on, mutta Excel-tiedoston tutkiminen heksaeditorilla menee liian vaikeaksi, eikä edes ratkaisisi ongelmaa: miksi juuri tuo yksi solu muuttui kopioinnissa. Nyt se ei enää muutu, kun kopioin pelkät kaavat.

    Äänestä

  • Office_365 kirjoitti:

    Miten ajattelit käyttää heksaeditoria? Solusta ei saa kopioitua mitään, koska siinä ei ole mitään. Se on "Empty", siis ainakin Excelin mielestä se on ymmärtääkseni vielä tyhjempi kuin tyhjä merkkijono. Jokin sisäinen kuvaus silläkin varmasti on, mutta Excel-tiedoston tutkiminen heksaeditorilla menee liian vaikeaksi, eikä edes ratkaisisi ongelmaa: miksi juuri tuo yksi solu muuttui kopioinnissa. Nyt se ei enää muutu, kun kopioin pelkät kaavat.

    Monet ohjelmat tulkitsevat syöttötietoja suunnittelijoiden asettamin rajoituksin, eivätkä nuo rajoitukset aina välttämättä ole täysin järkeenkäypiä. On esimerkiksi laajalti tunnettu totuus, että Microsoftin oman DOS-käyttöjärjestelmän komentotulkissa oli huvittavia/itkettäviä (valitse mieleisesi) virheitä, joita ei koskaan korjattu. Oli esimerkiksi mahdollista luoda (command.com:in avulla) tiedosto, jota komentotulkki (eli command.com) itse ei kyennyt lainkaan käsittelemään.
    Heksaeditorilla voit toisinaan havaita sellaisia omituisuuksia, joista esimerkiksi joku Microsoftin edustaja ei suostu lausumaan mitään järkevää. Niinpä selittämättömien virheiden ilmetessä voit yrittää itse selvittää niiden luonnetta muun muassa heksaeditoria apuna käyttäen. Voit tällä tavoin oppia toisinaan arvaamatomia asioita.
    Mainittakoon, että itse koodasin aikoinaan grep:iin perustuvan ohjelman, jonka suunnittelussa heksaeditori osoittautui korvaamattomaksi avuksi. Voi tietenkin väittää, että kaikki oleellinen löytyy Microsoftin omasta dokumentaatiosta, mutta vastaväitteksi tähän voin todeta että kyllä, jos sinulla on varaa ja halua maksaa Microsoftille suuria summia jokseenkin idioottimaisista oppikursseista.

    Äänestä

Kommentoi aloitusta


Office_365 kirjoitti:

Makron suoritus jää kesken funktionkutsussa yleensä aina tietyllä rivillä. Mitään virheilmoitusta ei tule, eikä On Error reagoi. Excel toimii sen jälkeen epävakaasti ja yleensä se kaatuu melko satunnaisessa tilanteessa. Calculate vilkkuu koko ajan n. sekunnin välein.
Muutamaa riviä aiemmin makro kopioi erään alueen toiseen paikkaan. Muutama solu on tyhjä. Uudessa paikassa yksi tyhjistä soluista ei olekaan tyhjä (<>""). Siinä ei näyttäisi olevan mitään, mutta se pitää silti erikseen tyhjätä.
Onko arvauksia? Ehdolliset muotoilut tekivät kiusaa, mutta nyt nekin on poistettu.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu