Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os intervalos são mais fáceis de identificar por nome do que por notação A1. Para nomear um intervalo selecionado, clique na caixa de nome na extremidade esquerda da barra de fórmula, digite um nome e então pressione ENTER.
Nota Há dois tipos de intervalos nomeados: intervalo nomeado da pasta de trabalho e intervalo de nome específico de planilha.
Intervalo Nomeado da Pasta de Trabalho
Um Intervalo Nomeado da Pasta de Trabalho faz referência a um intervalo específico de qualquer lugar na pasta de trabalho (aplica-se globalmente).
Como criar um Intervalo Nomeado da Pasta de Trabalho:
Como explicado acima, geralmente é criado inserindo o nome na caixa de nome no lado esquerdo da barra de fórmulas. Observe que nenhum espaço é permitido no nome.
Intervalo Nomeado Específico da Planilha
Um Intervalo Nomeado Específico da Planilha refere-se a um intervalo em uma planilha específica e não é global a todas as planilhas em uma pasta de trabalho. Consulte esse intervalo nomeado apenas pelo nome na mesma planilha, mas em outra planilha você deve usar o nome da planilha, incluindo "!" o nome do intervalo (exemplo: o intervalo "Name" "=Sheet1! Nome").
O benefício é que você pode usar o código VBA para gerar novas planilhas com os mesmos nomes para os mesmos intervalos dentro dessas planilhas sem receber um erro informando que o nome já está sendo usado.
Como criar um Intervalo Nomeado Específico da Planilha:
- Selecione o intervalo que você deseja nomear.
- Clique na guia "Fórmulas" na barra de ferramentas do Excel na parte superior da janela.
- Clique no botão "Definir Nome" na guia Fórmula.
- Na caixa de diálogo "Novo Nome", no campo "Escopo", escolha a planilha específica em que o intervalo que você deseja definir está localizado (isto é, "Planilha1"), isso torna o nome específico para essa planilha. Se você escolher "Pasta de Trabalho", ela será um nome de pasta de trabalho).
Exemplo, de Intervalo De Nome Específico da Planilha: o intervalo selecionado para o nome é A1:A10
O nome escolhido do intervalo é "nome", dentro da mesma planilha se refere ao nome nomeado apenas inserindo o seguinte em uma célula "= nome", em uma planilha diferente, consulte o intervalo específico da planilha incluindo o nome da planilha em uma célula "=Planilha1!nome".
Fazendo referência a um intervalo nomeado
O exemplo a seguir se refere ao intervalo chamado "MeuIntervalo" na pasta de trabalho chamada "MinhaPasta.xls".
Sub FormatRange()
Range("MyBook.xls!MyRange").Font.Italic = True
End Sub
O exemplo a seguir se refere ao intervalo específico da planilha chamada "Planilha1!Vendas" na pasta de trabalho chamada "Relatório.xls".
Sub FormatSales()
Range("[Report.xls]Sheet1!Sales").BorderAround Weight:=xlthin
End Sub
Para selecionar um intervalo nomeado, use o método Go To, que ativa a pasta de trabalho e a planilha e então seleciona o intervalo.
Sub ClearRange()
Application.Goto Reference:="MyBook.xls!MyRange"
Selection.ClearContents
End Sub
O exemplo a seguir mostra como o mesmo procedimento seria escrito para a pasta de trabalho ativa.
Sub ClearRange()
Application.Goto Reference:="MyRange"
Selection.ClearContents
End Sub
Código de exemplo fornecido por: Dennis Wallentin, VSTO & .NET & Excel
Este exemplo usa um intervalo nomeado como a fórmula para validação de dados. Este exemplo exige que os dados de validação estejam na Planilha 2 no intervalo A2:A100. Esses dados de validação são usados para validar dados inseridos na Planilha 1 no intervalo D2:D10.
Sub Add_Data_Validation_From_Other_Worksheet()
'The current Excel workbook and worksheet, a range to define the data to be validated, and the target range
'to place the data in.
Dim wbBook As Workbook
Dim wsTarget As Worksheet
Dim wsSource As Worksheet
Dim rnTarget As Range
Dim rnSource As Range
'Initialize the Excel objects and delete any artifacts from the last time the macro was run.
Set wbBook = ThisWorkbook
With wbBook
Set wsSource = .Worksheets("Sheet2")
Set wsTarget = .Worksheets("Sheet1")
On Error Resume Next
.Names("Source").Delete
On Error GoTo 0
End With
'On the source worksheet, create a range in column A of up to 98 cells long, and name it "Source".
With wsSource
.Range(.Range("A2"), .Range("A100").End(xlUp)).Name = "Source"
End With
'On the target worksheet, create a range 8 cells long in column D.
Set rnTarget = wsTarget.Range("D2:D10")
'Clear out any artifacts from previous macro runs, then set up the target range with the validation data.
With rnTarget
.ClearContents
With .Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Formula1:="=Source"
'Set up the Error dialog with the appropriate title and message
.ErrorTitle = "Value Error"
.ErrorMessage = "You can only choose from the list."
End With
End With
End Sub
Loop pelas células de um intervalo nomeado
O exemplo a seguir faz um loop por cada célula de um intervalo nomeado usando um loop Para cada...Próximo. Se o valor de cada célula do intervalo exceder o valor de Limit
, a cor da célula será alterada para amarelo.
Sub ApplyColor()
Const Limit As Integer = 25
For Each c In Range("MyRange")
If c.Value > Limit Then
c.Interior.ColorIndex = 27
End If
Next c
End Sub
Sobre o colaborador
Dennis Wallentin é o autor do VSTO & .NET & Excel, um blog que se concentra em soluções .NET Framework para Excel e Serviços do Excel. Dennis vem desenvolvendo soluções Excel há mais de 20 anos e também é coautor de "Desenvolvimento do Excel Profissional: O Guia Definitivo para o Desenvolvimento de Aplicativos Usando o Microsoft Excel, VBA e .NET (2ª Edição)".
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.