Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Excel/VBA AutoFilter Field veranderen op protected sheet?

Pagina: 1
Acties:

  • Da_maniaC
  • Registratie: September 2004
  • Laatst online: 11-11 16:12

Da_maniaC

a.k.a. The Sequenz Pounder

Topicstarter
Hallo,

Ik ben met wat VBA bezig om want functionaliteiten toe te voegen aan een Excel workbook.
Nu heb ik een vrij eenvoudige routine; het enige wat deze routine eigenlijk doet is:

code:
1
ActiveSheet.Range("$A$3:$V$101").AutoFilter Field:=1, Criteria1:=ActiveSheet.Range("$A$2").Value


Dit werkt opzich goed, totdat ik de sheet wil beveiligen. Zodra er protectie op zit dan blijft de macro crashen op de bovengenoemde line/handeling.

Ik heb nu getracht om protectie op de sheet aan te zetten en vervolgens alle functies te 'enablen', ook dan blijft de macro crashen op de bovenstaande handeling.

Heeft iemand hier misschien enig idee hoe ik dit kan oplossen?

Het is de bedoeling dat de Excel workbook straks 'geshared' wordt en bij mijn weten is het dan onmogelijk om bij het uitvoeren van de macro te unprotecten - acties uit te voeren - en weer te protecten.

[ Voor 13% gewijzigd door Da_maniaC op 11-09-2015 12:52 ]

Inventory | Instagram: @sequenzpounder | http://www.zdaemon.org | ZDaemon! Client/Server port for DOOM!


  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 13:47

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Excel is een client applicatie, en heeft dus niet met serversoftware of een server-OS te maken.

Ik verplaats het topic dan maar even naar Client Software Algemeen

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Da_maniaC schreef op vrijdag 11 september 2015 @ 12:50:
Het is de bedoeling dat de Excel workbook straks 'geshared' wordt en
Bij mijn weten is dit zo'n foutgevoelige functie dat ik daar überhaupt niet aan zou willen beginnen..

Ik vrees eigenlijk dat je het verkeerde platform hebt gekozen.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • Da_maniaC
  • Registratie: September 2004
  • Laatst online: 11-11 16:12

Da_maniaC

a.k.a. The Sequenz Pounder

Topicstarter
Question Mark schreef op vrijdag 11 september 2015 @ 15:53:
Excel is een client applicatie, en heeft dus niet met serversoftware of een server-OS te maken.

Ik verplaats het topic dan maar even naar Client Software Algemeen
Oeps, ik zocht op VBA en kreeg verschillende hits in het serversoftware subforum...vandaar dat ik het topic daar plaatste. :>
pedorus schreef op vrijdag 11 september 2015 @ 16:13:
[...]

Bij mijn weten is dit zo'n foutgevoelige functie dat ik daar überhaupt niet aan zou willen beginnen..

Ik vrees eigenlijk dat je het verkeerde platform hebt gekozen.
Ho ho, nou niet meteen aanname's gaan doen ;) ...ik heb sowieso geen keuze gemaakt,
mijn werkgever vroeg me of ik een functie toe kon voegen aan een Excel sheet die reeds jaren worden gebruikt binnen een organisatie. Dat dit sheetje geen bestaansrecht zou moeten hebben zowel technisch als professionalistisch gezien staat daar helaas los van
(zoals dat overal gaat, liggen de prioriteiten vaak ergens anders). :)

Iemand anders misschien nog een idee? Werkt deze functie überhaupt niet op een protected sheet? Lijkt me vreemd...

[ Voor 20% gewijzigd door Da_maniaC op 12-09-2015 05:12 ]

Inventory | Instagram: @sequenzpounder | http://www.zdaemon.org | ZDaemon! Client/Server port for DOOM!


  • ExploitSolo
  • Registratie: Januari 2011
  • Laatst online: 08:17
Hoe ik het begrijp probeer je een protected sheet te wijzigen? Dit lijkt me niet helemaal de bedoeling van de 'protect' functie ;)

  • Eparox
  • Registratie: Juli 2012
  • Laatst online: 19-11 12:14
Je kunt alleen de userinterface protecten, zodat de macro gewoon zijn ding kan doen:

Worksheet.Protect "Password", UserInterfaceOnly := True

Het wachtwoord staat dan wel direct in de macro, dus dan zou ik via tools > VBA Project Properties > Protection ook een wachtwoord op het viewen van de macro zetten.

[ Voor 35% gewijzigd door Eparox op 12-09-2015 12:39 ]


  • ajakkes
  • Registratie: Maart 2004
  • Laatst online: 16-05 22:32

ajakkes

👑

Als iemand slim genoeg is om het wachtwoord in het macro te vinden, kan hij het wachtwoord ook wijzigen in zijn eigen wachtwoord. Dus overbodig.

👑


  • Arjan90
  • Registratie: September 2005
  • Laatst online: 12:35
Je hoeft met Protect geen wachtwoord in te stellen in de VBA. Ik loop met jouw voorbeeld tegen hetzelfde aan: ik krijg het AutoFilter niet aan. Als je echter het volgende hanteert werkt het bij mij wel zonder problemen:
Visual Basic:
1
2
ActiveSheet.Protect UserInterfaceOnly:=True
ActiveSheet.Range("$A$3:$V$101").AutoFilter Field:=1, Criteria1:=ActiveSheet.Range("$A$2").Value


Ik heb dus eerst het werkblad beveiligd met een wachtwoord. Vervolgens draai ik bovenstaande code. Het filter wordt toegepast én het wachtwoord blijft gewoon bestaan als beveiliging.

[ Voor 22% gewijzigd door Arjan90 op 13-09-2015 13:41 ]

"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."


  • Da_maniaC
  • Registratie: September 2004
  • Laatst online: 11-11 16:12

Da_maniaC

a.k.a. The Sequenz Pounder

Topicstarter
@ Eparox & Arjan90:

That did the trick. Thanks! :)

Inventory | Instagram: @sequenzpounder | http://www.zdaemon.org | ZDaemon! Client/Server port for DOOM!

Pagina: 1