MoniqueHaarlem
Nieuwe gebruiker
- Lid geworden
- 26 nov 2009
- Berichten
- 3
Beste,
Ik ben bezig met het maken van een offertetool. Op sheet 1 staan alle artikelen en hun prijzen. Op sheet 2 staan alle regels met artikelen en de formules om de totalen uit te rekenen. Dit wordt dan verwerkt in een printbare offerte. Nu heb ik een autosortmacro gemaakt welke alle regels met artikelen weghaald die niet in sheet 1 zijn ingevuld. (Dit door middel van een formule die een x zet in kolom A bij niet ingevulde artikelregels, autosort haalt dan alle regels weg met tekst die niet gelijk is aan x). In deze macro heb ik ook de beveiliging van het werkblad toegevoed. Werkt allemaal uitstekend maar... Ik krijg het niet voor elkaar om, als je na het invullen van sheet 1, naar sheet 2 gaat en dat ie daar dan alleen de regels laat zien die hij moet laten zien en dat er de beveiliging op zit. Ik moet dan echt naar Macro gaan en de gemaakte macro 'uitvoeren'.
Dit heb ik nu:
Private Sub Workbook_Open()
Sheets("Sheet2").Select
Range("$A$4:$A$185").Select
ActiveSheet.Protect Password:="ned2009", UserInterfaceOnly:=True
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Range("$A$4:$A$186").AutoFilter Field:=1, Criteria1:="<>x", _
Operator:=xlAnd
End Sub
en
Sub AutoFilter()
'
' AutoFilter Macro
'
ActiveSheet.Protect Password:="ned2009", UserInterfaceOnly:=True
ActiveSheet.Range("$A$4:$A$186").AutoFilter Field:=1, Criteria1:="<>x", _
Operator:=xlAnd
ActiveSheet.Protect 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
End Sub
Ik ka op heel internet alleen vinden dat je de macro's automatisch kan uitvoeren als je excel opstart, niet bij het wisselen tussen werkbladen...
Let wel: ik ben een vrouw met een geringe kennis van VBA..... dus Jip en Janneke graag.
Alvast reuze bedankt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ik ben bezig met het maken van een offertetool. Op sheet 1 staan alle artikelen en hun prijzen. Op sheet 2 staan alle regels met artikelen en de formules om de totalen uit te rekenen. Dit wordt dan verwerkt in een printbare offerte. Nu heb ik een autosortmacro gemaakt welke alle regels met artikelen weghaald die niet in sheet 1 zijn ingevuld. (Dit door middel van een formule die een x zet in kolom A bij niet ingevulde artikelregels, autosort haalt dan alle regels weg met tekst die niet gelijk is aan x). In deze macro heb ik ook de beveiliging van het werkblad toegevoed. Werkt allemaal uitstekend maar... Ik krijg het niet voor elkaar om, als je na het invullen van sheet 1, naar sheet 2 gaat en dat ie daar dan alleen de regels laat zien die hij moet laten zien en dat er de beveiliging op zit. Ik moet dan echt naar Macro gaan en de gemaakte macro 'uitvoeren'.
Dit heb ik nu:
Private Sub Workbook_Open()
Sheets("Sheet2").Select
Range("$A$4:$A$185").Select
ActiveSheet.Protect Password:="ned2009", UserInterfaceOnly:=True
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Range("$A$4:$A$186").AutoFilter Field:=1, Criteria1:="<>x", _
Operator:=xlAnd
End Sub
en
Sub AutoFilter()
'
' AutoFilter Macro
'
ActiveSheet.Protect Password:="ned2009", UserInterfaceOnly:=True
ActiveSheet.Range("$A$4:$A$186").AutoFilter Field:=1, Criteria1:="<>x", _
Operator:=xlAnd
ActiveSheet.Protect 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
End Sub
Ik ka op heel internet alleen vinden dat je de macro's automatisch kan uitvoeren als je excel opstart, niet bij het wisselen tussen werkbladen...
Let wel: ik ben een vrouw met een geringe kennis van VBA..... dus Jip en Janneke graag.

Alvast reuze bedankt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Laatst bewerkt: