Ongelma on seuraava. Minulla on monta sheettiä jossa on tietyssä solussa sama kaava (yli sadassa). Tuota kaavaa pitäisi päästä muokkaamaan mutta joudun nyt tekemään sen sheetti kerrallaan. Miten tuon saisi tehtyä nopeammin.
Lisäksi sheetit on suojattuja joten suojaukset pitää vielä poistaa yksi kerrallaan. Helpeistä en helppiä ongelmaani löytänyt.
Lisäksi sheetit on suojattuja joten suojaukset pitää vielä poistaa yksi kerrallaan. Helpeistä en helppiä ongelmaani löytänyt.
Vastaukset 5
Vanhimmat
Voit muokata kaikkien taulukoiden samaa solua yhtäaikaa: napsauta hiiren oikealla taulukon alareunassa taulukon nimeä esim.Taul1 -> valitse kaikki taulukot ja nyt muokkautuu kaikissa taulukoissa sama solu.
Suojausta et voi purkaa kaikista yhtäaikaa.
mikäli taulukoita ei ole suojattu salasanalla.
Oheinen makro sekä suojaa että poistaa suojauksen, riippuen siitä kumpi on vallitseva tila. Eli jos suojaus on päällä niin makro poistaa suojauksen, vastaavasti makro suojaa kaikki suojaamattomat taulukot.
Sub Suojaus()
Dim Taulukko As Worksheet
For Each Taulukko In Worksheets()
If Taulukko.ProtectContents Then
Taulukko.Unprotect
Else
Taulukko.Protect
End If
Next
End Sub
Todella käyttökelpoinen makro.
Jos kaikissa taulukoissa olis sama salasana, voiko makron tehdä niin että se kysyis salasanaa, ja toimis jos salasana on oikea.
muuttamalla makroa esim. seuraavasti:
Sub Suojaus()
Dim Taulukko As Worksheet
For Each Taulukko In Worksheets()
If Taulukko.ProtectContents Then
Taulukko.Unprotect "salasana"
Else
Taulukko.Protect "salasana"
End If
Next
End Sub
Nyt makro suojaa tai poistaa suojauksen niin että kaikissa taulukoissa on salasanaksi määritelty "salasana".
Kyllähän tuon makron saisi laajennettua niin että se kysyisi salasanaa käyttäjältä mutta sehän vaatii toki salasanamuuttujien tekemisen ja virheidenkäsittelyn eli se onkin sitten pitempi juttu...
hyvistä ja selkeistä ohjeista.