Välilehden suojaaminen?

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?
61366
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

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

Äänestä
  • 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?

    Äänestä

  • 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

    Äänestä

  • 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ä.

    Äänestä

  • 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

    Äänestä

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

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

Äänestä

Kommentoi aloitusta


hädässä kirjoitti:

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?

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