2009-02-11 8 views
0

comme méthode secondaire à ma question ici: Show Cell Range on UserForm; then updateActiver Range, autoriser la modification, Continuer

Je voudrais avoir une macro qui sélectionne une plage, et active, mais permet à l'utilisateur de modifier les cellules dans ce gamme. Ensuite, il doit avoir un bouton qui passe à la gamme suivante. Est-il possible de garder un formulaire visible, mais permettre à l'utilisateur d'accéder à une plage?

Et si c'est possible, puis-je verrouiller temporairement toutes les autres cellules que celles de la plage pendant la mise à jour, pour éviter les erreurs?

Répondre

1

Vous pouvez afficher une forme dans l'état « modales », ce qui signifie que l'utilisateur ne soit pas verrouillé à cette forme:

Dim interactionForm As New DemoForm 

interactionForm.Show vbModeless 

Vous pouvez également verrouiller programatically et déverrouiller certaines plages de cellules en fonction de ce que vous voulez faire:

Dim bigRange As Range 
Set bigRange = Sheet1.Range("SomeRange") 

Sheet1.Cells.Locked = True 
bigRange.Locked = False 
Sheet1.Protect "password1" ' add other options here 

en utilisant cela, vous pouvez verrouiller toutes les cellules sur une feuille, mais déverrouiller la plage que vous voulez les modifier. Vous pouvez même colorer cette gamme verte ou une autre couleur pour appliquer ce que vous voulez qu'ils fassent.

N'oubliez pas de tout débloquer lorsque vous avez terminé!

Sheet1.Unprotect "password1" 
Sheet1.Cells.Locked = False 
+0

C'est exactement ce dont j'avais besoin! Merci beaucoup! –

Questions connexes