O Inspetor de Documentos encontrou nomes ocultos no seu livro. Estes nomes podem armazenar informações ocultas sobre cenários do Solver. Por exemplo, quando utiliza o suplemento Solver para executar um cenário, este pode armazenar informações sobre parâmetros de cálculo e outros dados confidenciais como nomes ocultos no seu livro.
Importante: A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isto inclui, mas não se limita às garantias implícitas de comercialização ou adequação a um fim específico. Este artigo parte do princípio de que está familiarizado com a linguagem de programação que está a ser demonstrada e com as ferramentas utilizadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para fornecer funcionalidades adicionais ou criar procedimentos para satisfazer os seus requisitos específicos.
Problema
O Inspetor de Documentos não pode remover estes nomes ocultos automaticamente.
Solução recomendada
Execute a seguinte macro para remover nomes ocultos. A macro apresenta uma caixa de mensagem que lista três itens: (1) se o nome definido está visível ou oculto, (2) o nome definido e (3) a que esse nome se refere (a referência de célula do livro). Pode escolher Sim ou Não para eliminar ou manter cada nome definido.
Nota: Se utilizar esta macro para remover nomes ocultos, os suplementos (como o Solver) ou as macros poderão não funcionar conforme esperado e podem perder dados ocultos associados aos mesmos. Esta macro também afeta qualquer nome definido que esteja oculto, não apenas aqueles que foram adicionados pelo Solver.
Atenção: Se os nomes das folhas contiverem espaços, poderá receber um erro quando tentar eliminar o nome definido.
Remover Nomes Ocultos
' 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