Verrouiller certaines cellules dans une plage
Je suis en train de faire une boucle par une plage de cellules, le verrouillage de la une cellule qui a contenu tout en laissant vide les cellules déverrouillées.
Lorsque j'exécute le code ci-dessous le résultat est l'ensemble de la feuille est verrouillé. Si j'ajoute une autre déclaration de la feuille est déverrouillé. Fondamentalement, quelle que soit la dernière .locked = (true, false) déclaration est la façon dont l'ensemble de la feuille s'enroule.
Changement 1 Est-il possible que j'ai des paramètres on/off qui est en conflit depuis que je suis le seul qui est incapable d'obtenir tout ce travail?
Sub ProtectTheSheet()
Dim chCell As Range
Dim chRng As Range
'Clear the default status
ActiveSheet.Unprotect
Range("A7:I35").Locked = False
Set chRng = ActiveSheet.Range("A7:I35")
'Check cell value in body and lock cells with content
For Each chCell In chRng.Cells
If chCell.Value <> "" Then Cells.Locked = True
Next chCell
ActiveSheet.Protect
End Sub
- Avez-vous essayé l'enregistrement d'une macro pendant que vous le faites manuellement? Qui peut vraiment vous aider à apprendre les commandes appropriées.
- Sur votre "paramètres de la requête" - avez-vous un autre code en cours d'exécution? Comme je l'ai posté en dessous de votre erreur est le signe d'une cellule fusionnée question, mais vous avez identifié depuis qu'ils ne sont pas dans cette gamme
Vous devez vous connecter pour publier un commentaire.
Check this out: http://www.mrexcel.com/archive/VBA/15950b.html
Si vous dites Range("A1").Sélectionnez, puis il se verrouille uniquement A1. Vous pouvez spécifier plusieurs cellules d'être verrouillé en spécifiant comme suit:
A3:A12,D3:E12,J1:R13,W18
Cela verrouille A3 à A12 et D3 à E12 etc.
J'ai peut-être raté quelque chose mais...
...et verrouiller toutes les cellules de la feuille active. Si vous venez de changer de...
...il fonctionne; je pense?! Comme la plage est très petite, vous pouvez aussi bien ne pas déverrouiller les cellules au début, et au lieu de déverrouiller les cellules tout en les bloquant par exemple
Si vous êtes nouveau à VBA, je le recommande à vélo à travers le code, ligne par ligne, comme décrit dans cette Excel consultant de la vidéo. Si vous parcourez le code, vous pouvez cocher la case "a la cellule A7 s'est comporté comme prévu?"...au lieu de juste de voir le produit final
Un moyen rapide pour débloquer la non-cellules vides est d'utiliser SpecialCells voir ci-dessous.
Sur mon test de ce code gère cellules fusionnées ok, je pense que c'est ce qui est de la génération de votre erreur sur Tim code quand il ressemble à une poignée de chaque cellule individuellement (qui, pour être clair, c'est pas un problème au Tim du code, il s'agit de l'un des résultats inattendus)
Vous pouvez également trouver cet article de la mine Une méthode rapide de détermination de la déverrouillé plage de cellules utile
Je sais que c'est un vieux thread, mais j'ai été coincé sur cette trop pendant un certain temps, et après quelques tests sur Excel 2013, voici ce que je en conclure si votre gamme comprend toute cellule fusionnée
Aussi, vous ne pouvez pas verrouiller/déverrouiller une cellule qui est déjà à l'intérieur d'un protégé de la gamme. E. g si vous exécutez:
Deux fois, il va travailler la première fois, et l'échec de la deuxième fois autour. Donc, vous devez ôter la protection de la fourchette cible (ou la feuille) avant....
Vous pouvez essayer cette.
Si vous voulez protéger les cellules spécifiques propres à excel sans que la protection par mot de passe, alors voici la solution: