2013-03-11 3 views
0

J'ai un classeur Excel dans lequel j'importe des feuilles de plusieurs autres classeurs, puis fusionne les données à partir de ceux-ci dans une feuille de «vue d'ensemble». Je suis assez nouveau à vba donc cette tâche a pris beaucoup de temps, et beaucoup de recherche. Cependant, j'ai un problème que je ne peux pas résoudre ou trouver une réponse à, mais je pense qu'il devrait être assez simple à résoudre si vous savez comment. (si tout va bien quelqu'un là dehors.) Problème: Quand j'importe les feuilles j'importe aussi beaucoup de plages nommées non désirées. J'ai essayé de les supprimer en exécutant une macro qui les supprime sans supprimer ceux que je spécifie, mais il ne fonctionne pas pour moi.parcourir les noms et supprimer ceux qui ne correspondent pas au modèle spécifié

Toute aide est très appréciée

Sub DeleteNames() 

Dim myName As Name 

For Each myName In ThisWorkbook.Names 

    If myName <> "Tower" And _ 
    myName <> "Bird" Then 
    myName.Delete 
    End If 

Next 
End Sub 

Répondre

2

Vous devez utiliser le namelocal propriété de l'objet nom .

Essayez ceci:

Sub DeleteNames() 

Dim myName As Name 

For Each myName In ThisWorkbook.Names 

    If myName.NameLocal <> "Tower" And myName.NameLocal <> "Bird" Then 
    myName.Delete 
    End If 

Next 
End Sub 
+0

Merci beaucoup Phillip. Cela a fonctionné parfaitement – SimonJensen

Questions connexes