Najdena skrita imena

Velja za
Excel za Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

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.

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