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

1315

    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. Asiakkaalle ei myyty energiajuomaa - tuomio tuli syrjinnästä

      Vaikka oli ilmeisesti täysi-ikäinen. Tosin ei lapsiakaan saisi syrjiä, koska oppivat helposti itsekin syrjimään, jos koh
      Maailman menoa
      41
      3113
    2. Miksi aina pitää kilpailla parhaudesta?

      Mua ärsyttää se, että kaikki kilpailut ja visailut keskittyvöt aina siihen, kuka on paras missäkin. Tänäkin aamuna tuli
      Sinkut
      68
      2464
    3. Pakkoruotsista luopumalla kymmenien miljoonien säästöt

      Pakkoruotsin opiskelun kustannuksista ei ole juurikaan tehty kustannusselvityksiä, mutta joidenkin arvioiden mukaan siit
      Maailman menoa
      59
      2281
    4. Mitä muutoksia tekisit

      kaivatullesi? Miten on? Muista olla REHELLINEN 📸
      Ikävä
      92
      2121
    5. Luterilaisen kirkon koko kastekaava on väärä

      Uudessa testamentissa on kaksi täysin ristiriidassa olevaa kastekäskyä Matt 28:19 ja Ap. t. 2:38. Matteuksen evankeluimi
      Kaste
      41
      1914
    6. Kerro minulle

      Miksi teit niinkuin teit? Miksi kielsit tunteesi minua kohtaan. Miksi et halunnut että tiedän oikeasti mitä tunnet. Etkö
      Ikävä
      66
      1555
    7. Seksuaalinen ahdistelu, naisten vähättely ja törkeä käytös naisia kohtaan kukkii rakennustyömailla

      Tällainen lienee ihan tavallisista kaikilla "äijävaltaisilla" työpaikoilla. Kaikki miesvaltaiset alat eivät ole toksise
      Maailman menoa
      129
      1507
    8. Miten Yxäri iskettiin?

      Voisin tässä unta odotellessani kertoa, miten mieheni lähestyi minua. Tunsimme entuudestaan. Hän kyseli minulta aina j
      Sinkut
      170
      1465
    9. Rakkaalle J miehelle.

      Hitto mulla on sua ikävä. Haluisin heti nyt tulla sun syliin ja suudella sua.ja, ja ja... Hirveä ikävä.
      Ikävä
      89
      1445
    10. Kristinuskossa Isän ja Pojan ja Pyhän Hengen nimessä

      Jeesuksen kehoitus kastamiseksi Isän ja Pojan ja PH:n nimeen. Matt 28:19: "Menkää siis ja tehkää kaikki kansat minun
      Kaste
      378
      1395
    Aihe