Dokumentkontrollen hittade dolda namn i arbetsboken. Dessa namn kan lagra dold information om Problemlösaren-scenarier. Om du till exempel använder tillägget Problemlösaren för att köra ett scenario kan det lagra information om beräkningsparametrar och andra känsliga data som dolda namn i arbetsboken.
Viktigt!: Microsoft tillhandahåller endast programmeringsexempel i visningssyfte, utan att någon form av garanti uttrycks eller är underförstådd. Detta omfattar men är inte begränsat till underförstådda garantier för säljbarhet eller lämplighet för ett visst ändamål. Den här artikeln förutsätter att du är bekant med programmeringsspråket som demonstreras och med de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionaliteten i en viss procedur, men de ändrar inte de här exemplen för att tillhandahålla ytterligare funktioner eller konstruera procedurer för att uppfylla dina specifika krav.
Problem
Dokumentkontroll kan inte ta bort dessa dolda namn åt dig.
Rekommenderad lösning
Kör följande makro för att ta bort dolda namn. Makrot visar en meddelanderuta med tre objekt: (1) om det definierade namnet är synligt eller dolt, (2) det definierade namnet och (3) vad det namnet refererar till (arbetsbokscellreferensen). Du kan välja Ja eller Nej för att ta bort eller behålla varje definierat namn.
Obs!: Om du använder det här makrot för att ta bort dolda namn kanske inte tillägg (t.ex. Problemlösaren) eller makron fungerar som förväntat och kan förlora dolda data som är kopplade till dem. Det här makrot påverkar även alla definierade namn som är dolda, inte bara de som har lagts till av Problemlösaren.
Varning!: Om bladnamnen innehåller blanksteg kan du få ett felmeddelande när du försöker ta bort det definierade namnet.
Ta bort dolda namn
' Module to remove all hidden names on active workbook
Sub Remove_Hidden_Names()
' Dimension variables.
Dim xName As Variant
Dim Result As Variant
Dim Vis As Variant
' Loop once for each name in the workbook.
For Each xName In ActiveWorkbook.Names
'If a name is not visible (it is hidden)...
If xName.Visible = True Then
Vis = "Visible"
Else
Vis = "Hidden"
End If
' ...ask whether or not to delete the name.
Result = MsgBox(prompt:="Delete " & Vis & " Name " & _
Chr(10) & xName.Name & "?" & Chr(10) & _
"Which refers to: " & Chr(10) & xName.RefersTo, _
Buttons:=vbYesNo)
' If the result is true, then delete the name.
If Result = vbYes Then xName.Delete
' Loop to the next name.
Next xName
End Sub