Primeiro, escreva uma macro de proteção que proteja a entrada
Sub protect()
Worksheets("sheet1").protect "Password", UserInterfaceOnly:=True
End Sub
- Em seguida, vá para
review - unprotect sheet
e insira a senha para desproteger - Agora vá para
review - allow users to edit ranges
- Clique em
new
e defina o (s) intervalo (s) que você deseja que os usuários possam editar - Clique em
permissions
e, em seguida, emadd
e insira o nome do objetoEveryone
- Agora, recue OK - OK - OK
- Execute a macro
Protect
para proteger tudo, exceto os intervalos definidos. -
Modifique sua macro para desbloquear, bloquear e bloquear (isso funcionará para qualquer macro)
Sub MyPermute() Dim rng As Range Set rng = Range("A1:A10") Dim varValues As Variant Dim i As Long, j As Long, n As Long Worksheets("sheet1").Unprotect "Password" varValues = rng.Cells n = UBound(varValues, 1) For ii = 1 To 100 i = MyRandomNum(1, n) j = MyRandomNum(1, n) subSwap varValues, i, j Next ii Range("B1:B10") = varValues Worksheets("sheet1").protect "Password", UserInterfaceOnly:=True End Sub