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ä?
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?
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.