Saltar para: Post [1], Pesquisa e Arquivos [2]

Code Snippets Blog

Pequenas rotinas em vba, vbscript e outras linguagens. Noticias sobre informática, workshops, e outras coisas relacionadas com novas tecnologias.

Code Snippets Blog

Pequenas rotinas em vba, vbscript e outras linguagens. Noticias sobre informática, workshops, e outras coisas relacionadas com novas tecnologias.

19
Nov07

Listar todos nomes definidos num Workbook

Mais uma pequena rotina.
Esta macro lista todos os nomes definidos no workbook activo.
Procedimento: adiciona uma worksheet e coloca lá os nomes e respectivos endereços para consulta.

Option Explicit

Sub Mostrar_Nomes()

    Dim objSheet As Worksheet
    Dim objNome As Name
    Dim ObjNomes As Names
    Dim i As Integer, iNomes As Integer
    
    Set ObjNomes = ActiveWorkbook.Names
    
    iNomes = ObjNomes.Count
    If iNomes = 0 Then GoTo erro
    
    Set objSheet = Worksheets.Add
    
    With objSheet
        .Cells(1, 1).Value = "Nome"
        .Cells(1, 2).Value = "Endereço"
    End With

    i = 2
    For Each objNome In ObjNomes
        With objSheet
            .Cells(i, 1).Value = objNome.Name
            .Cells(i, 2).Value = "'" & objNome.RefersTo
        End With
        i = i + 1
    Next objNome
    
    objSheet.Columns("A:B").AutoFit
    Set objSheet = Nothing
    
    GoTo fim
    
erro:
    MsgBox "Este livro não tem nomes definidos.", _
            vbInformation, _
            "Listar nomes"
fim:
    Set ObjNomes = Nothing
End Sub