2012-09-14 20:31:52 +0000 2012-09-14 20:31:52 +0000
7
7

Waarom geeft Excel mij nu een waarschuwing voor een reeds bestaand naambereik bij Kopieerblad?

Ik ben al een paar dagen bezig met een Microsoft Excel 2007-spreadsheet. Ik werk vanuit een sjabloonachtig hoofdblad en kopieer dit herhaaldelijk naar een nieuw blad. Tot vandaag gebeurde dit zonder problemen. Echter, halverwege vandaag veranderde dit plotseling en ik weet niet waarom. Telkens als ik nu een werkblad probeer te kopiëren, krijg ik een stuk of tien dialoogvensters, elk met een ander naambereikobject (hieronder weergegeven als ‘XXXX’) en ik klik op ja voor elk venster:

Een formule of blad dat u wilt verplaatsen of kopiëren bevat de naam ‘XXXX’, die al bestaat op het doel-werkblad. Wilt u deze versie van de naam gebruiken?

  • Om de naam te gebruiken zoals die in het bestemmingsblad is gedefinieerd, klikt u op Ja.
  • Om de naam te wijzigen van het bereik waarnaar in de formule of het werkblad wordt verwezen, klikt u op Nee, en voert u een nieuwe naam in het dialoogvenster Naamconflict in.

De naambereikobjecten verwijzen naar cellen in het blad. Bijvoorbeeld, E6 wordt naambereik PRE genoemd op meerdere bladen (en is dat altijd geweest) en sommige formules verwijzen naar PRE in plaats van $E$6. Een van de ‘XXXX’ hierboven is deze PRE. Deze naamreeksen moeten alleen worden opgelost binnen het blad waarin ze voorkomen. Dit was eerder geen probleem, ondanks dat hetzelfde naambereik eerder op meerdere bladen voorkwam. Ik wil mijn naambereiken behouden.

Wat kan er in mijn spreadsheet veranderd zijn om deze gedragsverandering te veroorzaken? Ik ben teruggegaan naar eerdere bladen die ik op deze manier had gemaakt en nu geven ze de melding ook als ze worden gekopieerd. Ik heb een andere computer en een andere gebruiker geprobeerd en overal wordt hetzelfde gedrag waargenomen. Ik kan alleen maar concluderen dat er iets in de spreadsheet is veranderd. Wat zou dit kunnen zijn en hoe kan ik het oude gedrag terugkrijgen waarbij ik bladen met naamreeksen kan kopiëren en geen waarschuwingen krijg?

Kijkend in de Name Manager zie ik dat de naambereiken waarover geklaagd wordt twee keer voorkomen, een keer als scope Template en een keer als scope Workbook. Als ik de scope Template verwijder gaat de waarschuwing weg bij het kopiëren, echter, ik krijg een hoop #REF errors. Als ik de scope Workbook ones verwijder, lijkt alles in orde en gaan de waarschuwingen bij kopiëren ook weg, dus misschien is dit het antwoord, maar ik ben nerveus over wat voor effect dit verwijderen zal hebben en vraag me af hoe de Workbook ones überhaupt zijn ontstaan.

Is het veilig om alleen de Workbook name manager scoped entries te verwijderen en hoe kunnen deze zijn ontstaan zonder dat ik het wist?

Antwoorden (6)

6
6
6
2012-09-14 20:51:03 +0000

Open de Name Manager en zoek de named items waarover geklaagd wordt en verwijder alle items met scope Workbook en het probleem met het kopiëren van bladen verdwijnt en de formules blijven intact.

5
5
5
2014-07-11 09:59:53 +0000
Sub TOOLS_DELETENAMEDRANGE()

  Dim nm As name
  On Error Resume Next

  For Each nm In ActiveWorkbook.Names
    If (MsgBox("Delete name- " & nm.name, vbYesNo) = vbYes) Then  
      nm.Delete
    End If
  Next

  On Error GoTo 0

End Sub
2
2
2
2012-09-14 20:52:04 +0000

Dit is geen fout, maar een waarschuwing dat er een conflict bestaat en biedt een keuze wat te doen

Wanneer u een bereik kopieert dat een verwijzing bevat naar een (meestal werkblad bereik) genoemd bereik, en diezelfde naam bestaat op het bestemmingsblad, hoe kan Excel dan weten welke naam u wilt gebruiken in het resultaat?

Wat er veranderd is, stel ik voor dat je alle namen in je werkmap bekijkt, vooral die voor werkbladbereik.
Naam Beheer - Ctrl-F3

1
1
1
2013-11-04 08:47:47 +0000

Deze namen zijn meestal het resultaat van een gegevensdownload via een API van een derde partij. De API’s gebruiken deze namen meestal als plaatshouders voor celverwijzingen.

Als je eenmaal wat gegevens hebt verwerkt, blijven deze namen meestal achter omdat een algemene gebruiker de verborgen (of zeer verborgen) bladen niet opruimt. Het probleem met deze namen is dat ze ook niet zichtbaar zijn in het vak NAMEN en dus niet via die optie kunnen worden verwijderd.

Een van de manieren waarop ik dit aanpak is door het te programmeren via een VBA script. Voorbeeld hieronder

Sub do_loop_names()
Dim vJunkName As Name
Debug.Print ThisWorkbook.Names.Count

For Each vJunkName In ThisWorkbook.Names
    vJunkName.Delete
Next vJunkName
End Sub

Let op: dit script verwijdert ALLE namen uit de werkmap, dus als er bepaalde gedefinieerde namen zijn die je zou willen behouden, zet dan de uitzonderingen in de code.

Als iemand een efficiëntere oplossing heeft, laat het me dan weten.

0
0
0
2015-02-20 22:03:14 +0000

Ik heb hetzelfde probleem gehad, en elke oplossing geprobeerd, met wisselend succes:

1) Ik opende Namenbeheer en, inderdaad, er waren een heleboel Namen die ik nooit had aangemaakt; het waren echter NIET de namen waarvoor ik gewaarschuwd werd. Ik verwijderde ze toch maar om van de rommel af te zijn, maar dat was niet de oplossing.

2) Ik probeerde de code die door Viquar werd gegeven (start “Sub do_loops_names”). Ik denk dat een deel van de code gemist is, omdat ik niet kan zien hoe het eigenlijk iets doet en, zeker genoeg, er gebeurde niets.

3) Ik heb de code van user345338 geprobeerd (die begint met “Sub TOOLS_…”) - PERFECT. Het liep me door alle verborgen namen die op een of andere manier vastzaten in de werkmap en verwijderde ze. Hartelijk dank, user345338 (wie je ook bent!).

BTW, aan “codea” - user345338’s code is niet “nutteloos” omdat het mijn probleem heeft opgelost.

0
0
0
2013-07-01 18:49:58 +0000

Hetzelfde probleem hier met 27 mysterieuze named ranges. Ik gebruikte Ctrl+F3 (zoals aanbevolen in een ander antwoord) om de lijst met named ranges te bekijken (die ik nooit had ingesteld!). Het waren er veel, want ik had het werkblad-tabblad vele malen gekopieerd en gewoon op “ja” geklikt om de melding te omzeilen. Ik markeerde en verwijderde alle benoemde bereiken (één schermpje per keer, ik kon niet Alles selecteren). De volgende keer dat ik het werkblad probeerde te kopiëren, lukte het kopiëren zonder de waarschuwing.

Zorg ervoor dat je je originele bestand kopieert voordat je dit probeert.