Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: Excel: Solujen suojaus ja makrot

brottor [08.10.2012 08:56:34]

#

Tein excelin jossa käyttäjäsyöttää tietyn määrän aloitustietoja ja painaa nappia "laske", excel laskee syötettyjen tietojen avulla lopputuloksia.

Lukitsin kaikki muut solut paitsi ne johon syötetään lähtötietoja, tämä sen takia ettei käyttäjä sekoita koko työkirjaa.

Nappiin "laske" olen liittänyt makron joka on tehty "tallenna makro" menetelmällä (muulla en osaa sitä tehdä)

Ongelma on se että ilman lukitusta homma pelaa mutta kun laitan lukituksen päälle ja painan nappia saan virheilmoituksen: Run-time error '1004': Application-defined or object-defined error.

Eli onko kyse siitä että makro yrittää muokata suojattuja soluja (näin pitäisikin olla), muttei siihen kykene koska ne ovat suojattuja?

Olisiko tähän jotain hyvää vinkkiä?

jaketsu [08.10.2012 21:37:52]

#

Juuri siitä taitaa olla kyse. Jos osaat muokata sen makron koodia käsin, niin lisää sinne esim.

With Worksheets("Taul1") ' sen suojatun välilehden nimi, jonka suojaus otetaan pois päältä
.Unprotect
'
' tähän väliin ne jutut, joita makro tekee
'
.Protect ' laitetaan suojaus takaisin päälle
End With

Yllä oleva esimerkki toimii ainakin minulla.

Jos taas muokkaaminen ei onnistu, niin voisko sen makron nauhoittaa uudestaan siten, että alussa suojaus otetaan pois päältä ja lopussa laitetaan taas päälle?

neau33 [10.10.2012 21:43:55]

#

Moi brottor!

Mikäli laskentataulukkosi on suojattu salasanalla niin...

Public Sub Makrosi()

    Taul1.Unprotect password:="salasanasi" 'esim.
    'tähän väliin makrosi koodi...
    Taul1.Protect password:="salasanasi", DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta