2016-05-09 2 views
0

Quelle est la meilleure pratique pour stocker les informations de plage nommées? L'arrière-plan est le suivant: Nous récupérons les données du service Web en fonction de certains paramètres, tels que la source de données, la date de début et la date de fin. Nous récupérons les données dans une plage nommée, telle que A1: D10. L'utilisateur peut actualiser la plage nommée ultérieurement ou partager le classeur avec ses collègues.Quelle est la meilleure façon de stocker des informations sur les plages nommées?

Actuellement, nous stockons le nom de la plage nommée et d'autres paramètres, tels que la source de données, la date de début et la date de fin de la propriété personnalisée de la feuille. Plus tard, lorsque le classeur est à nouveau ouvert, nous lisons le nom de la plage nommée, la source de données, la date de début et la date de fin à partir de la propriété personnalisée. Ainsi, l'utilisateur final peut actualiser les données de la plage nommée en cas de besoin. Nous ne pouvons certainement pas stocker l'adresse de plage nommée (R1C1) puisque l'utilisateur peut insérer/supprimer des lignes/colonnes, donc l'adresse de plage nommée sera modifiée. alors nous devons stocker le nom de la plage nommée dans la propriété personnalisée.

Mais le problème est le suivant: le nom de la plage nommée peut également être modifié. L'utilisateur peut cliquer sur Formules -> Gestionnaire de nom pour changer le nom. Actuellement, nous devons éduquer notre utilisateur final ne le faites pas. Mais absolument ce n'est pas la meilleure solution.

Alors pourriez-vous me donner quelques suggestions? Quelle est la meilleure pratique pour stocker les informations de plage nommées et les informations associées? Merci.

+0

Créer un/des formulaire (s) utilisateur (s) pour maintenir les données et les stocker selon les besoins. – Jules

Répondre

1

Sur la base de ce que vous avez fourni ...

je regarderais dans la protection de la feuille (s) qui contiennent la plage nommée (s). La protection de la feuille rend le nom d'une plage nommée indisponible pour l'utilisateur. Par exemple, considérez un classeur avec Sheet1 ayant une plage nommée pour les appels A1: A3. Numbers. Vous pouvez faire en sorte que beaucoup de choses soient encore disponibles: toutes les cellules sont déverrouillées, possibilité d'insérer des lignes/colonnes, etc ...

Après avoir exécuté cette macro ...

Sub test() 
Dim mySht As Worksheet 
    Set mySht = Worksheets("Sheet1") 
    With mySht 
     .Unprotect 
     .Cells.Locked = False 
     .Protect UserInterfaceOnly:=True, AllowInsertingRows:=True, _ 
      AllowDeletingRows:=True, AllowInsertingColumns:=True, _ 
      AllowDeletingColumns:=True 
    End With 
End Sub 

La boîte de dialogue Gestionnaire de nom ressemble à ce qui suit (notez le nouveau ..., Modifier ... et Supprimer sont grisés)

enter image description here

La plage nommée ne peut donc pas être modifiée. Cependant, toutes les cellules peuvent toujours être modifiées et les lignes/colonnes insérées ou supprimées. Du côté négatif, les nouvelles plages nommées ne peuvent pas non plus être ajoutées à cette feuille.

+0

Cette solution, protège la feuille, regarde la solution la plus proche. L'utilisateur peut toujours modifier des cellules, trier ou insérer des graphiques. Peut-être que c'est la meilleure solution que nous avons. –