Nadzornik dokumentov je našel skrita imena v vašem delovnem zvezku. V teh imenih so lahko shranjene skrite informacije o scenarijih Reševalca. Ko na primer uporabite dodatek Reševalec za zagon scenarija, lahko shrani informacije o parametrih za izračun in druge občutljive podatke kot skrita imena v delovnem zvezku.
Pomembno
Microsoft ponuja primere programiranja samo za ponazoritev, brez izrecnega ali naznačenega jamstva. To vključuje, vendar ni omejeno na, naznačena jamstva glede primernosti za prodajo ali določen namen.
V tem članku predvidevamo, da poznate programski jezik, ki je predstavljen, in orodja, ki se uporabljajo za ustvarjanje postopkov in njihovo odpravljanje napak. Microsoftovi inženirji za podporo vam lahko pomagajo razložiti delovanje določenega postopka, vendar teh primerov ne bodo spremenili, da bi zagotovili dodatno funkcionalnost ali ustvarili postopke, ki izpolnjujejo vaše določene zahteve.
Težava
Nadzornik dokumentov ne more odstraniti teh skritih imen namesto vas.
Priporočena rešitev
Zaženite ta makro, če želite odstraniti skrita imena. Makro prikaže okno s sporočilom, v katerem so navedeni trije elementi: (1) ali je določeno ime vidno ali skrito, (2) opredeljeno ime in (3) na kaj se nanaša to ime (sklic na celico v delovnem zvezku). Izberete lahko »Da « ali »Ne «, da izbrišete ali ohranite posamezno določeno ime.
Opomba
Če uporabljate ta makro za odstranjevanje skritih imen, dodatki (kot so Reševalec) ali makri morda ne bodo delovali po pričakovanjih in lahko izgubijo skrite podatke, povezane z njimi. Ta makro vpliva tudi na katero koli določeno ime, ki je skrito, ne samo na tista, ki jih je dodal Reševalec.
Pozor
Če imena listov vsebujejo presledke, se lahko pri brisanju določenega imena prikaže napaka.
Odstranjevanje skritih imen
' 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