Hallo,
Ik heb een bestand gemaakt voor het scannen van producten. Het originele bestand bestaat uit meerdere tabbladen. In dit bestand scant de medewerker het product in kolom B. Vervolgens worden alle gegevens automatisch opgehaald uit een ander tabblad en voert de medewerker het getelde aantal in.
Om het systeem '******proof' te maken, probeer ik een vba te maken die alle ingevulde cellen (behalve die van kolom E en G) automatisch blokkeert. Daarnaast moet een andere macro het mogelijk maken om de gegevens in de lastrow (kolom B t/m H te verwijderen. Het kan namelijk wel eens gebeuren dat de medewerker net het verkeerde product scant of een verkeerd aantal invoert. Probleem is echter dat een andere macro alle cellen waar een waarde in staat beveiligd.
Onderstaande code beveiligd alle gevulde cellen. Echter, de cellen in de kolommen E en G mogen niet beveiligd worden.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.Locked = True
Selection.FormulaHidden = False
Range("a65536").End(xlUp).Offset(2, 0).Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingHyperlinks:=True
Met de onderstaand code lukt het mij om 1 cel uit de laatste rij te verwijderen, maar dmv van offset zouden de waarden in de 6 cellen rechts van de actieve cel ook verwijderd moeten worden. Echter, de bovenstaande code verhinderd dit voortdurend door continue alles te beveiligen.
ActiveSheet.Unprotect
Range("B1000").End(xlUp).Select
Selection.ClearContents
Ik hoop dat iemand een oplossing heeft.
Alvast vriendelijk bedankt!
Groeten Arjen
Ik heb een bestand gemaakt voor het scannen van producten. Het originele bestand bestaat uit meerdere tabbladen. In dit bestand scant de medewerker het product in kolom B. Vervolgens worden alle gegevens automatisch opgehaald uit een ander tabblad en voert de medewerker het getelde aantal in.
Om het systeem '******proof' te maken, probeer ik een vba te maken die alle ingevulde cellen (behalve die van kolom E en G) automatisch blokkeert. Daarnaast moet een andere macro het mogelijk maken om de gegevens in de lastrow (kolom B t/m H te verwijderen. Het kan namelijk wel eens gebeuren dat de medewerker net het verkeerde product scant of een verkeerd aantal invoert. Probleem is echter dat een andere macro alle cellen waar een waarde in staat beveiligd.
Onderstaande code beveiligd alle gevulde cellen. Echter, de cellen in de kolommen E en G mogen niet beveiligd worden.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.Locked = True
Selection.FormulaHidden = False
Range("a65536").End(xlUp).Offset(2, 0).Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingHyperlinks:=True
Met de onderstaand code lukt het mij om 1 cel uit de laatste rij te verwijderen, maar dmv van offset zouden de waarden in de 6 cellen rechts van de actieve cel ook verwijderd moeten worden. Echter, de bovenstaande code verhinderd dit voortdurend door continue alles te beveiligen.
ActiveSheet.Unprotect
Range("B1000").End(xlUp).Select
Selection.ClearContents
Ik hoop dat iemand een oplossing heeft.
Alvast vriendelijk bedankt!
Groeten Arjen