Knekkeren Skrevet 28. april 2010 Del Skrevet 28. april 2010 Hei! Jeg har Vista og Office 2007 Jeg har en arbeidsbok med 12 ark. På ett ark (ÅRSSKIFTE)har jeg 4 makroknapper(kommandoknapp ActiveX-kontroll). Jeg har låst hele arket med passord men likevel kan jeg klikke på makroknappene og kjøre disse selv om de også er låst. Kan jeg få låst knappene med passord? Dette for og hindre andre til og kjøre makroer. På forhånd takk Hilsen meg Lenke til kommentar
Harald Staff Skrevet 28. april 2010 Del Skrevet 28. april 2010 Ikke out of the box, du må programmere litt i makroene eller lage noen nye. I sin aller enkleste form begynner du makroene med en inputbox: Sub Makro1() If InputBox("Passord:") <> "HemiliPassord" Then Exit Sub 'resten av koden her End Sub Videre; huske at gjeldende bruker allerede vet passordet, maskere det med ***, .. En annen innfallsvinkel er å lage en makro som viser eller enabler knappene hvis innskrevet passord er ok. Beste hilsen Harald Lenke til kommentar
Knekkeren Skrevet 29. april 2010 Forfatter Del Skrevet 29. april 2010 Hei igjen Harald. Jeg har følgende makro på knapp nr 2. Når jeg låser ark vil jeg også at knapp nr 2 skal være låst. La oss si at jeg vil bruke "Nisse" som passord. Hvordan gjør jeg dette? På forhånd takk. Sub NullstilleRegar() ' ' NullstilleRegark Makro ' Denne nullstiller også korigeringer ' ' Sheets("Reg ark").Select ActiveCell.FormulaR1C1 = "0" Range("F7").Select ActiveCell.FormulaR1C1 = "0" Range("G7").Select ActiveCell.FormulaR1C1 = "0" Range("H7").Select ActiveCell.FormulaR1C1 = "0" Range("I7").Select ActiveCell.FormulaR1C1 = "0" Range("J7").Select ActiveCell.FormulaR1C1 = "0" Range("G7:J7").Select Selection.AutoFill Destination:=Range("G7:J59") Range("G7:J59").Select Range("X7").Select ActiveCell.FormulaR1C1 = "0" Range("Y7").Select ActiveCell.FormulaR1C1 = "0" Range("Z7").Select ActiveCell.FormulaR1C1 = "0" Range("AA7").Select ActiveCell.FormulaR1C1 = "0" Range("AB7").Select ActiveCell.FormulaR1C1 = "0" Range("AC7").Select ActiveCell.FormulaR1C1 = "0" Range("AD7").Select ActiveCell.FormulaR1C1 = "0" Range("AE7").Select ActiveCell.FormulaR1C1 = "0" Range("X7:AE7").Select Selection.AutoFill Destination:=Range("X7:AE59") Range("X7:AE59").Select Range("BJ7").Select ActiveCell.FormulaR1C1 = "0" Range("BK7").Select ActiveCell.FormulaR1C1 = "0" Range("BL7").Select ActiveCell.FormulaR1C1 = "0" Range("BM7").Select ActiveCell.FormulaR1C1 = "0" Range("BN7").Select ActiveCell.FormulaR1C1 = "0" Range("BO7").Select ActiveCell.FormulaR1C1 = "0" Range("BJ7:BO7").Select Selection.AutoFill Destination:=Range("BJ7:BO59") Range("BJ7:BO59").Select Range("CP7").Select ActiveCell.FormulaR1C1 = "0" Range("CQ7").Select ActiveCell.FormulaR1C1 = "0" Range("CR7").Select ActiveCell.FormulaR1C1 = "0" Range("CS7").Select ActiveCell.FormulaR1C1 = "0" Range("CT7").Select ActiveCell.FormulaR1C1 = "0" Range("CU7").Select ActiveCell.FormulaR1C1 = "0" Range("CV7").Select ActiveCell.FormulaR1C1 = "0" Range("CP7:CV7").Select Selection.AutoFill Destination:=Range("CP7:CV59") Range("CP7:CV59").Select Range("DX7").Select ActiveCell.FormulaR1C1 = "0" Range("DY7").Select ActiveCell.FormulaR1C1 = "0" Range("DZ7").Select ActiveCell.FormulaR1C1 = "0" Range("EA7").Select ActiveCell.FormulaR1C1 = "0" Range("EB7").Select ActiveCell.FormulaR1C1 = "0" Range("EC7").Select ActiveCell.FormulaR1C1 = "0" Range("ED7").Select ActiveCell.FormulaR1C1 = "0" Range("EE7").Select ActiveCell.FormulaR1C1 = "0" Range("EF7").Select ActiveCell.FormulaR1C1 = "0" Range("EG7").Select ActiveCell.FormulaR1C1 = "0" Range("EH7").Select ActiveCell.FormulaR1C1 = "0" Range("EI7").Select ActiveCell.FormulaR1C1 = "0" Range("DX7:EI7").Select Selection.AutoFill Destination:=Range("DX7:EI59") Range("DX7:EI59").Select Range("DX7").Select Range("F7").Select Sheets("SALG").Select Range("Q7").Select ActiveCell.FormulaR1C1 = "0" Range("Q7").Select Selection.AutoFill Destination:=Range("Q7:Q59") Range("Q7:Q59").Select Range("Q7").Select Sheets("Årsskifte").Select Range("F18").Select End Sub Lenke til kommentar
Harald Staff Skrevet 29. april 2010 Del Skrevet 29. april 2010 Du skjønte ikke hva jeg mente. Putt dette i begynnelsen av makroen din: If InputBox("Passord:") <> "Nisse" Then Exit Sub Knappen er ikke låst, men den spør om passordet før den gjør noe. En annen sak, du kan forenkle koden din betraktelig, så kjører den på null tid og gir en annen brukeropplevelse. Merk at den ikke går til arket eller flytter markøren: Sub NullstilleRegar() ' ' NullstilleRegark Makro ' Denne nullstiller også korigeringer If InputBox("Passord for nullstilling:") <> "Nisse" Then Exit Sub Sheets("Reg ark").Range("G7:J59").Value = 0 Sheets("Reg ark").Range("X7:AE59").Value = 0 Sheets("Reg ark").Range("BJ7:BO59").Value = 0 Sheets("Reg ark").Range("CP7:CV59").Value = 0 Sheets("Reg ark").Range("DX7:EI59").Value = 0 Sheets("Reg ark").Range("Q7:Q59").Value = 0 End Sub HTH. Beste hilsen Harald Lenke til kommentar
Knekkeren Skrevet 29. april 2010 Forfatter Del Skrevet 29. april 2010 Tusen takk for svar. Funker perfekt og makro ble mye bedre og oversiklig nå. Tidligere makro var spilt inn Atter en gang TAKK Lenke til kommentar
Harald Staff Skrevet 29. april 2010 Del Skrevet 29. april 2010 Ingenting galt med å spille inn makroer -jeg gjør knapt annet de gangene jeg må programmere Word, som jeg kan ingenting om. Koden blir feilfri. Men den blir 50 ganger større enn nødvendig siden den ikke vet hva du er ute etter å oppnå, og derfor spiller inn absolutt alt som skjer. Jeg tror du er klar for å se hvordan du bearbeder en innspilling, det er både nyttig og morsomt. Sjekk to greie instruksjonssider: http://www.dailydoseofexcel.com/archives/2004/04/26/beginning-vba-recording-macros/ http://www.dailydoseofexcel.com/archives/2004/04/27/beginning-vba-select-and-activate/ Jeg har ikke gjort annet enn å fjerne det du ikke var ute etter i koden din, ref siste lenke, ren backspace-knapp-operasjon. Med litt øvelse i dette er veien kort til å tenke som en programmerer, og da starter moroa for alvor Beste hilsen Harald Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå