Välilehden suojaaminen?

hädässä

Tarkoitus olisi saada taulukossa oleva "Data" välilehti suojattua niin ettei sitä pääse katsomaan kuin salasanan avulla. Tarkoitus olisi kuitenkin niin että makrojen ja VB koodit pääsisivät tähän välilehteen käsiksi. Onko tämä mahdollista? Miten?

6

1284

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • suojaa VBA projekti salasanalla ja VBA puolelta pistä Data välilehden visible arvoksi=0 xlSheetHidden. Tällöin ei tartte koodia rukkailla, eli ei tartte Unprotect ja Protect juttujen kanssa painia
      @Kunde

      • hädässä

        Välilehden sai kyllä piiloon, mutta kun makro haluaa käsitellä tietoja Data välilehdestä, niin se kaatuu siihen kun se ei saa valittua Data välilehteä.

        Elikkä tähän:
        Sheets("Data").Select

        Eli Data lehdeltä lähinnä copy pastea tartteisi käyttää. Vai pitäisikö tämä tehdä niin että makron suorittamisen ajaksi laitettaisiin Data välilehti näkyviin ja lopuksi taas piilotettaisiin?


      • hädässä kirjoitti:

        Välilehden sai kyllä piiloon, mutta kun makro haluaa käsitellä tietoja Data välilehdestä, niin se kaatuu siihen kun se ei saa valittua Data välilehteä.

        Elikkä tähän:
        Sheets("Data").Select

        Eli Data lehdeltä lähinnä copy pastea tartteisi käyttää. Vai pitäisikö tämä tehdä niin että makron suorittamisen ajaksi laitettaisiin Data välilehti näkyviin ja lopuksi taas piilotettaisiin?

        ei toimi ei toimi kun taulukko on piilotettu. Tietenkin voit koodilla laittaa sen näkyville ennen kopiointia ja sitten piilottaa kun tarvittavat jutut tehty

        esim.

        Application.ScreenUpdating = False
        Sheets("Data").Visible = xlSheetVisible
        Sheets("Data").Select
        'koodia
        Sheets("Data").Visible = xlSheetVeryHidden
        Application.ScreenUpdating = True

        mutta...
        toimii se näinkin ilman kikkailuja ;-)

        Sheets("Data").Range("A1:A10").Copy Destination:=Sheet2.Range("A1")

        @Kunde


      • hädässä
        kunde kirjoitti:

        ei toimi ei toimi kun taulukko on piilotettu. Tietenkin voit koodilla laittaa sen näkyville ennen kopiointia ja sitten piilottaa kun tarvittavat jutut tehty

        esim.

        Application.ScreenUpdating = False
        Sheets("Data").Visible = xlSheetVisible
        Sheets("Data").Select
        'koodia
        Sheets("Data").Visible = xlSheetVeryHidden
        Application.ScreenUpdating = True

        mutta...
        toimii se näinkin ilman kikkailuja ;-)

        Sheets("Data").Range("A1:A10").Copy Destination:=Sheet2.Range("A1")

        @Kunde

        Entäs sitten, minulla on taulukossa nappi 'tallenna' ja jaa. Tämä nappi poistaa sitten Data taulukon viemästä turhee tilaa lopullisesta taulukosta kun sieltä on poimittu tarvittavat tidot

        Sheets("Data").Delete

        toimii oikein hyvin, mutta se häiritsee että Excel varmistaa kysymällä poiston. Saako tätä kysymystä ohjitettua jotenkin? Eli poistelisi sen välilehden ilman kyselyitä.


      • hädässä kirjoitti:

        Entäs sitten, minulla on taulukossa nappi 'tallenna' ja jaa. Tämä nappi poistaa sitten Data taulukon viemästä turhee tilaa lopullisesta taulukosta kun sieltä on poimittu tarvittavat tidot

        Sheets("Data").Delete

        toimii oikein hyvin, mutta se häiritsee että Excel varmistaa kysymällä poiston. Saako tätä kysymystä ohjitettua jotenkin? Eli poistelisi sen välilehden ilman kyselyitä.

        koodin alkuun Application.DisplayAlerts = False
        ja loppuun Application.DisplayAlerts = True

        muista sitten varmistaa, että jos virhe ilmenee niin virheenkorjauksessa asetat
        Application.DisplayAlerts = True tai jos ei ole mitään virheen tsekkausta, niin ainakin alkuun laitat sitten On Error Resume Next


    • Rndmz

      Vastaus ehkä "hieman" myöhässä, mutta asiasta tietoa etsiville:

      "Sheets("xxxxxxx").Select" tilalle
      "Sheets("xxxxxxx").Activate ja homma pelaa taas.

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

    Luetuimmat keskustelut

    1. Kuolemanrangaistus

      Mielestäni kuolemanrangaistus on väärin kaikissa tilanteissa. Vaikka joku olisi murhannut 10 ihmistä, hänen surmaaminen
      Laki ja rikos
      119
      6921
    2. Miksi persut eivät häädä mamuja pois Suomesta?

      Sitä vartenhan persut äänestettiin valtaan. Nyt valta on persuilla. Mamut nostaa työttömyyskorvauksia. Persut huutaa mam
      Maailman menoa
      49
      4624
    3. Riikka Purra ei estä tehomaksun käyttöönottoa

      Sähkön hinnoittelua koskevan määräyksen on määrä astua voimaan vuoden 2029 alusta, Energiavirastosta kerrotaan. Määräyk
      Maailman menoa
      74
      3714
    4. Sinä olet minun forEver

      Sinä olet minun sielussain, sydämessäin, huulillain, sinä olet ain, Sinä olet vieressäin, kainalossain, sylissäin, ain,
      Ikävä
      27
      2794
    5. Sanna Marinille pedataan paluuta pääministeriksi?

      Näyttäisi mylly lähteneen käyntiin nyt toden teolla. Nykyiset oikeistodemarit haukutaan vasemmistodemareiden toimesta ni
      Maailman menoa
      29
      2461
    6. Jos kaikki lopulta kuolevat, onko edes pahimmillakaan rikoksilla mitään väliä?

      Kaikki kuolevat lopulta. Siksi ihmisten tekemillä rikoksillakaan ei lopulta ole mitään merkitystä. Joidenkin mielestä t
      Filosofia
      22
      1926
    7. Mies joka vetäytyy osoittaa teoillaan

      Ettei halua olla tekemisissä. Mies joka ei vastaa viesteihin, ei halua sua. Mies joka jättää sut epätietoisuuteen, ei
      Ikävä
      200
      1438
    8. Martinan prinsessahäät peruuntui

      Seiska uutisoi Kauneus ja Terveyslehden artikkeliin perustuen mihin nämä häät kosahti.
      Kotimaiset julkkisjuorut
      319
      1234
    9. Vakavasti psyykkisesti sairas on pakkohoidossa - Ja asuu silti kotona

      Miten käy, kun vakavasti psyykkisesti sairas "hoidetaan" kotona? Norjassa psyykkisesti sairaiden vuodepaikkojen määrä on
      37
      1042
    10. Pahastuisitko

      Jos tietäisit, että katselen lähes päivittäin kuviasi? Miehelle
      Ikävä
      88
      898
    Aihe