Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: beveiliging omzeilen bij macroknop  (gelezen 1649 keer)

0 leden en 1 gast bekijken dit topic.

Offline EvelienD

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Vrouw
  • Hey, ik ben nieuw hier !
beveiliging omzeilen bij macroknop
« Gepost op: 01 februari 2023, 16:45:54 »
Hallo,

ik heb een beveiligd werkblad met een macroknop die toelaat een rij te kopïeren en in te voegen. Alleen werkt die natuurlijk niet met de beveiliging aan. Omdat mijn collega's echte knoeiers zijn in excel wil ik niet dat ze de beveiliging zomaar kunnen opheffen.
Ik heb al tal van zaken geprobeerd met UnProtect en Protect, maar ik vind niet de juiste code om dit toe te voegen aan mijn macro.

Dit is wat ik heb en dit werkt perfect waarvoor ik het wilde:

Sub RijKopierenInvoegen()
'Updateby Extendoffice
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error, please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    ActiveCell.EntireRow.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(xCount, 0)).EntireRow.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub

(ik heb die overigens van hier: https://nl.extendoffice.com/documents/excel/3682-excel-copy-and-insert-row-multiple-times.html)

Kan iemand deze aanvullen met een unprotect sheet en protect sheet op het einde?

Ik werk met Office Standard 2016 in het Nederlands.

Bedankt!!
Evelien

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: beveiliging omzeilen bij macroknop
« Reactie #1 Gepost op: 01 februari 2023, 17:19:58 »
Hallo Evelien,

Welkom op oplossing.be !

Als je die 'knoeiers' in het gareel wil houden is je werkblad allicht ook met een paswoord beveiligd(?)
Zet in dat geval als eerste instructie:
ActiveSheet.Unprotect "jouw paswoord"
en als laatste instructie identiek maar dan 'Protect'.

Mocht het toch zonder paswoord beveiligd zijn, dan laat je het deel tussen aanhalingstekens gewoon weg.
Succes !

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline EvelienD

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Vrouw
  • Hey, ik ben nieuw hier !
Re: beveiliging omzeilen bij macroknop
« Reactie #2 Gepost op: 02 februari 2023, 16:47:57 »
HET WERKT !!!!

Een dikke dankjewel!

Offline EvelienD

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Vrouw
  • Hey, ik ben nieuw hier !
Re: beveiliging omzeilen bij macroknop
« Reactie #3 Gepost op: 02 februari 2023, 17:52:46 »
extra vraag!

nadat ik de macro gebruikt hebt met de unprotect en de protect, neemt excel bij de beveiliging geen enkele optie mee (bv kolom opmaken, sorteren etc) waardoor ik de filters die op de kolommen staan niet meer kan gebruiken. Dit moet wel nog werken. Kan ik dit ook nog aangeven aan excel, dat hij bij de protect bepaalde opties weer 'aanvinkt'?

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: beveiliging omzeilen bij macroknop
« Reactie #4 Gepost op: 03 februari 2023, 11:25:57 »
Hallo Evelien,

Wat je aan toegelaten acties wou behouden (of dat er sowieso waren) viel uit je eerste vraag niet af te leiden, maar in dit geval zullen we er inderdaad rekening mee moeten houden.
De 'unprotect'-instructie mag je laten staan. Aan de 'protect'-instructie zal je dus effectief die mogelijkheden moeten meegeven, dus heb ik er voor jou één gemaakt waarin elke mogelijkheid wordt toegestaan. Daar zal jij dus waarschijnlijk een beetje uit moeten schrappen (afhankelijk van je toegeeflijkheid naar je collega's :))
ActiveSheet.Protect Password:="paswoord", DrawingObjects:=True, Contents:=True, _
    Scenarios:=True, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows:=True, _
    AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, AllowDeletingRows:=True, _
    AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True
Laat gerust weten als je het niet helemaal naar wens krijgt.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: beveiliging omzeilen bij macroknop
« Reactie #5 Gepost op: 03 februari 2023, 16:21:25 »
Ik ben altijd veel meer een voorstander van het regelen van de beveiliging in "de front office" en de code in de "back office" via het OnOpen event in de ThisWorkbook module regelen met "JouwTeBeveiligenWorksheet.Protect UserinterfaceOnly:=True". De code mag dan alles doen, wat de gebruiker niet mag...
______________________________

Groet, Leo

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: beveiliging omzeilen bij macroknop
« Reactie #6 Gepost op: 03 februari 2023, 16:27:45 »
Hallo RedHead,
Soms antwoord ik gewoon 'lineair' :D op een vraag, als een kip zonder kop zeg maar.
Anders gezegd: ik ben het volkomen met je eens.
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline EvelienD

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Vrouw
  • Hey, ik ben nieuw hier !
Re: beveiliging omzeilen bij macroknop
« Reactie #7 Gepost op: 06 februari 2023, 11:18:59 »
Hey Molly,

de code werkt met de aanpassingen! Je bent een engel!!!

ik ben een amateur VBA-er en knutsel via zoek en plakwerk codes ineen tot het werkt naar mijn zin. Ik heb geen flauw benul hoe ik iets van scratch zou moeten opbouwen en heb dus ook totáál geen idee waar jullie laatste twee posts over gaan :help: maar als het helpt om professioneler en veiliger te werken, dan hoor ik er graag meer van!

Laatste spulletje wat niet meer werkt met beveiliging: gegroepeerde kolommen en rijen in/uitklappen. ook hier al heel wat gezocht, maar geen oplossing gevonden.

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: beveiliging omzeilen bij macroknop
« Reactie #8 Gepost op: 06 februari 2023, 13:00:20 »
Hoi Evelien,

Veiliger, dat is veel gezegd, voor professioneler gaat het al een beetje meer op, maar vooral makkelijker. In geen enkele macro moet je je nog zorgen maken over beveiliging, want die mag alles. De vraag die eventueel nog aan bod kan komen is of je collega's macro's mogen uitvoeren :D
In het vba-project zou je dus in ThisWorkbook een code in deze stijl kunnen zetten:
Private Sub Workbook_Open()

For Each wbl In Sheets(Array("Blad1", "Blad2"))
    wbl.Protect Password:="paswoord", UserInterfaceOnly:=True, _
    Contents:=True, AllowFormattingCells:=True   'enz.
Next wbl

End Sub
De 'for each'- en 'next'-regels uiteraard indien het om meerdere werkbladen gaat; die array kan je verder uitbreiden.
Wat de collega's allemaal mogen kan hier ook bepaald worden.

Gegroepeerde rijen of kolommen open- of dichtklikken kan op een beveiligd werkblad met voor rijen "AllowFormattingRows:=True", maar groepen toevoegen of verwijderen valt voor zover ik weet niet te regelen (tenzij je dat dus ook door vba laat doen), maar misschien word ik op dat punt wel vlug door anderen tegengesproken ;)

Groetjes,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline EvelienD

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Vrouw
  • Hey, ik ben nieuw hier !
Re: beveiliging omzeilen voor gebruik van groepering van rijen en kolommen
« Reactie #9 Gepost op: 06 februari 2023, 17:09:43 »
Hey Molly,

zelfs als ik rijopmaak toelaat bij de beveiliging, laat hij mij niet toe groeperingen in of uit te klappen. Voor de duidelijkheid, zie bijlage. De twee geel gemarkeerde moeten aangevinkt worden toch volgens jou?
Ik heb even de titel van het topic aangepast zodat duidelijk is waar we nu nog op vast zitten :s


Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: beveiliging omzeilen bij macroknop
« Reactie #10 Gepost op: 06 februari 2023, 21:00:21 »
Hey Evelien,
Momenteel geen pc bij de hand, dus kort: je moet die toelatingen bij mijn laatste code opnemen.
Als het niet lukt mag je ook je werkboek bezorgen, ontdaan van privacygevoelige inhoud.
Groetjes,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline EvelienD

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Vrouw
  • Hey, ik ben nieuw hier !
Re: beveiliging omzeilen bij macroknop
« Reactie #11 Gepost op: 07 februari 2023, 17:03:30 »
Dit is de code die ik nu al erin staan heb:

Sub RijKopierenInvoegen()
'Updateby Extendoffice
ActiveSheet.Unprotect "Depypere1A"
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error, please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    ActiveCell.EntireRow.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(xCount, 0)).EntireRow.Insert Shift:=xlDown
    Application.CutCopyMode = False
ActiveSheet.Protect "Depypere1A", DrawingObjects:=True, Contents:=True, _
    Scenarios:=False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=False, AllowInsertingRows:=False, _
    AllowInsertingHyperlinks:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, _
    AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=False
End Sub

In bijlage het bestand:

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: beveiliging omzeilen bij macroknop
« Reactie #12 Gepost op: 08 februari 2023, 12:20:04 »
Hallo Evelien,

Ik dacht dat je al mee was ingestapt in de UserInterfaceOnly-methode, dus ik heb het nu even voor je aangepast. Veel macro's staan er (voorlopig?) niet in je bestand, maar mochten er nog bijkomen dan hoef je daar dus niets over (un)protect in op te nemen.
Groepen open- of dichtklikken werkt, maar zoals ik eerder al verwachtte lukt het niet om groepen bij te maken of te verwijderen. Op diverse websites kan je nochtans telkens dezelfde methode vinden waarmee het wel zou moeten gaan, maar in mijn Office-versie werkt dat alvast niet >:(

GoTo is niet meer van deze tijd, dus heb ik je kopieermacro ook een beetje gemoderniseerd ;)
Maar ik wil zeker niets opdringen, dus code die volgens mij niet meer nodig is heb ik als commentaar laten staan voor het geval dat.

Groetjes,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline EvelienD

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Vrouw
  • Hey, ik ben nieuw hier !
Re: beveiliging omzeilen bij macroknop
« Reactie #13 Gepost op: 10 februari 2023, 10:51:42 »
Molly!! je bent mijn reddende engel!
ik bekijk in detail nog eens de wijzigingen die je aanbracht op een rustig moment. ik ben altijd paraat om bij te leren, zeker als het excel betreft :)

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: beveiliging omzeilen bij macroknop
« Reactie #14 Gepost op: 10 februari 2023, 16:49:54 »
Graag gedaan hoor!

Citaat
ik ben altijd paraat om bij te leren, zeker als het excel betreft
En met die mindset komt het gegarandeerd allemaal goed :thumbsup:
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

 


www.combell.com