Käsittämätön ongelma excelissä

Minulla on suojattu taulukko joka aluksi toimii ihan normaalisti, mutta jos otan suojauksen pois päältä, ja heti laitan suojauksen takaisin päälle, tekemättä taulukossa yhtään mitään muuta, taulukko ei enää toimi.
Lisäksi se että taulukko toimii kyllä tilassa, kun suojaus ei ole päällä, mutta ei enää uudelleen suojattuna.
Ihan käsittämätöntä että mitä tuossa voisi taulukossa muuttua, jos vain nuo operaatiot tehdään peräkkäin?

Taulukko antaa Visual Basic virheen:
Run-time error '1004':
Application-defined or object-defined error

Taulukossa on makro joka tuottaa räätälöityä tekstiä solun kommenttiin.
Deggaus osoittaa koodiriviin:
.Comment.Shape.TextFrame.AutoSize = True
181854
Äänestä

Muut lukivat myös

Vastaukset 18

Vanhimmat

Voisiko makro olla olla talulukossa, eikä moduulissa?

Stackoverflowsta kopioitua:

" I had just had the same issue and I think it's because the macro was placed at the worksheet level. Right click on the modules node on the VBA project window, click on "Insert" => "Module", then paste your macro in the new module (make sure you delete the one recorded at the worksheet level)."

Äänestä
  • Microsoftin jutut lagaa aina!

    Äänestä

Liittyneekö asiaan jotenkin se, että Exceliin on ilmestynyt uusi Microsoftin suojausvaroitus-yläpalkki, joka ilmoittaa jostain linkkien automaattisen päivittämisen lopettamisesta.
Sain palautettua tämän välilehden varmuuskopioista. Täytyy vain muistaa ettei ota enää milloinkaan suojausta pois tältä makroja sisältävältä välilehdeltä.

Äänestä
  • Siitähän oli lähiaikoina jotain juttua että microsoft alkaa estämään makrojen käyttöä excelissä.

    Äänestä

  • Anonyymi kirjoitti:

    Siitähän oli lähiaikoina jotain juttua että microsoft alkaa estämään makrojen käyttöä excelissä.

    Viime aikoina kertoivat, että estävät koko Excelin käytön lähitulevaisuudessa.

    Äänestä

  • Anonyymi kirjoitti:

    Siitähän oli lähiaikoina jotain juttua että microsoft alkaa estämään makrojen käyttöä excelissä.

    Ei mitään uutta, ainahan exel on sitkeästi varoitellut makrojen vaaroista. Aikamoiset klikkailu sulkeiset pitää käydä läpi ennen kuin makrot saa käyttöön.

    Äänestä

  • Anonyymi kirjoitti:

    Ei mitään uutta, ainahan exel on sitkeästi varoitellut makrojen vaaroista. Aikamoiset klikkailu sulkeiset pitää käydä läpi ennen kuin makrot saa käyttöön.

    Ai jaa. Mulla on riittänyt yksi klikkaus.

    Äänestä

Jos sheetillä on asetettu "split panes" ja "freeze panes" niin saatata auttaa kun tekee "unfreeze panes" ja "remove split". Sitten vaan aseta ne takaisin. En osaa suomenkielisiä vännöksiä, ne ovat varmaan jotain muitoa "halkaise vasasoiden harjat", "jäädytä vasasoiden harjat".

Äänestä

Testailin vielä taulukon vanhemmalla versiolla, jossa ei vielä ollut tuota kommenttiin kirjoitusta. Siinä ei tule mitään virheilmoitusta, mutta piirtorutiini sekoili kun edellisen laskennan piirto ei pyyhkiytynyt pois. "poista" aliohjelma ei siis toiminut.
Joku asia on toimintaympäristössä nyt muuttunut, kun pelkkä taulukon suojauksen poistaminen ja uudelleen asetus tekee taulukon toimimattomaksi. Taulukon kehityksen aikana tuo suojauksen asetus ja poisto on tehty varmaan kymmeniä kertoja, eikä silloin esiintynyt tuollaista ongelmaa.
Järjellä ajatellen, eihän nuo toimenpiteet pitäisi vaikuttaa mitään taulukon visual basic makroihin.

Äänestä

"Taulukossa on makro joka tuottaa räätälöityä tekstiä solun kommenttiin.
Deggaus osoittaa koodiriviin:
.Comment.Shape.TextFrame.AutoSize = True"

Ei tommosen perusteella voi mitään ohjeita antaa tai korjata koodia.
Mikä excel versio?
laita koodi kokonaisuudessaan niin sitten voi yrittää korjata...

Äänestä
  • Taulukon vba-koodi onkin sinulle entuudestaan tuttua, koska se on avustuksellasi laadittu pari kolme vuotta sitten.
    Voin lähettää taulukon sinulle jos haluat sitä tutkia. Onko silloinen sähköpostiosoite vielä toimiva?

    Äänestä

  • Anonyymi kirjoitti:

    Taulukon vba-koodi onkin sinulle entuudestaan tuttua, koska se on avustuksellasi laadittu pari kolme vuotta sitten.
    Voin lähettää taulukon sinulle jos haluat sitä tutkia. Onko silloinen sähköpostiosoite vielä toimiva?

    Sama email

    Äänestä

  • Anonyymi kirjoitti:

    Taulukon vba-koodi onkin sinulle entuudestaan tuttua, koska se on avustuksellasi laadittu pari kolme vuotta sitten.
    Voin lähettää taulukon sinulle jos haluat sitä tutkia. Onko silloinen sähköpostiosoite vielä toimiva?

    Tällä kertaa oli käyttäjän vika... ;-)
    Taulukon suojauksessa pitää sallia myös vaihtoehto "MUOKATA OBJEKTEJA"

    Keep EXCELing
    @Kunde

    Äänestä

  • Anonyymi kirjoitti:

    Tällä kertaa oli käyttäjän vika... ;-)
    Taulukon suojauksessa pitää sallia myös vaihtoehto "MUOKATA OBJEKTEJA"

    Keep EXCELing
    @Kunde

    Kas kummaa, en yhtään muista miten tuon ruksin olen söhlännyt pois päältä.
    Mitähän kaikkea objekteiksi katsotaan, eli mihin muuhunkin tuo on vaikuttanut?

    Thanks!

    Äänestä

  • Anonyymi kirjoitti:

    Kas kummaa, en yhtään muista miten tuon ruksin olen söhlännyt pois päältä.
    Mitähän kaikkea objekteiksi katsotaan, eli mihin muuhunkin tuo on vaikuttanut?

    Thanks!

    Ei se ruksi näköjään jääkään oletuksena päälle, vaan se on ruksattava joka kerta uudelleen kun taulukko suojataan.

    Äänestä

  • Anonyymi kirjoitti:

    Kas kummaa, en yhtään muista miten tuon ruksin olen söhlännyt pois päältä.
    Mitähän kaikkea objekteiksi katsotaan, eli mihin muuhunkin tuo on vaikuttanut?

    Thanks!

    tuossa esitetty worksheet objekti
    https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet

    makrot suojaukselle ja suojauksen poistolle

    Sub SuojaaTaulukko()
    ActiveSheet.Protect Password:="kunde", DrawingObjects:=False, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
    End Sub

    Sub PoistaSuojaus()
    ActiveSheet.Unprotect Password:="kunde"
    End Sub

    Äänestä

  • Anonyymi kirjoitti:

    tuossa esitetty worksheet objekti
    https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet

    makrot suojaukselle ja suojauksen poistolle

    Sub SuojaaTaulukko()
    ActiveSheet.Protect Password:="kunde", DrawingObjects:=False, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
    End Sub

    Sub PoistaSuojaus()
    ActiveSheet.Unprotect Password:="kunde"
    End Sub

    En näin kylmiltään ihan sisäistänyt tuon "suojaa taulukko" makron toimintaa. Tekeekö se jotenkin räätälöidyn suojauksen väliledelle, vai jokaiselle sama vakiosuojaus missä sitä käytetään?

    Äänestä

  • Anonyymi kirjoitti:

    En näin kylmiltään ihan sisäistänyt tuon "suojaa taulukko" makron toimintaa. Tekeekö se jotenkin räätälöidyn suojauksen väliledelle, vai jokaiselle sama vakiosuojaus missä sitä käytetään?

    räätälöity suojaus "3 ~ s ä h k ö" taulukkoon

    ThisWorkbook moduuliin...

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Worksheets("3 ~ s ä h k ö").Unprotect Password:="Kunde"
    End Sub

    Private Sub Workbook_Open()
    Worksheets("3 ~ s ä h k ö").Protect Password:="Kunde", DrawingObjects:=False, Contents:=True, Scenarios:=True
    Worksheets("3 ~ s ä h k ö").EnableSelection = xlUnlockedCells
    End Sub

    Keep EXCELing
    @Kunde

    Äänestä

Kommentoi aloitusta


Anonyymi kirjoitti:

Minulla on suojattu taulukko joka aluksi toimii ihan normaalisti, mutta jos otan suojauksen pois päältä, ja heti laitan suojauksen takaisin päälle, tekemättä taulukossa yhtään mitään muuta, taulukko ei enää toimi.
Lisäksi se että taulukko toimii kyllä tilassa, kun suojaus ei ole päällä, mutta ei enää uudelleen suojattuna.
Ihan käsittämätöntä että mitä tuossa voisi taulukossa muuttua, jos vain nuo operaatiot tehdään peräkkäin?

Taulukko antaa Visual Basic virheen:
Run-time error '1004':
Application-defined or object-defined error

Taulukossa on makro joka tuottaa räätälöityä tekstiä solun kommenttiin.
Deggaus osoittaa koodiriviin:
.Comment.Shape.TextFrame.AutoSize = True

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