Página 1 de 1

Referenciar intervalo nomeado na linha de código VBA

Enviado: 09 Ago 2018 às 19:32
por SandroLima
Boa noite, colegas do fórum.

Tenho um intervalo nomeado na minha planilha e uma macro que limpa os dados dessa planilha.

Como ficaria o final desse código para que ele me traga o mês da data atual (no formato "AGOSTO", por exemplo) e o ano (no formato "2018") após limpar todos os campos da planilha:

Código:
Código: Selecionar todos
Sub LimparDados()

' LimparDados Macro
    Application.Goto Reference:="RG_Mes"
    Selection.ClearContents
    Application.Goto Reference:="RG_Ano"
    Selection.ClearContents
    Application.Goto Reference:="RG_Mes"
    
End Sub
Sei que o código deveria ser algo do tipo
Código: Selecionar todos
MonthName(Month(Date))
para o intervalo nomeado "RG_Mes" mas como fazer que ele retorne o formato "AGOSTO" e como fazer a referência para esse intervalo?
O ano que deverá ser retornado em "TB_Ano" deverá ter os 4 dígitos (2018).

Muito obrigado a quem puder contribuir.

Re: Referenciar intervalo nomeado na linha de código VBA

Enviado: 09 Ago 2018 às 20:16
por osvaldomp
SandroLima escreveu: ... após limpar todos os campos da planilha:
Desnecessário limpar ;)
Código: Selecionar todos
Sub InsereMêsAno()
 Range("RG_mes").Value = UCase(Format(Date, "mmmm"))
 Range("RG_ano").Value = Year(Date)
End Sub

Re: Referenciar intervalo nomeado na linha de código VBA

Enviado: 09 Ago 2018 às 20:42
por SandroLima
Isso.

Sobre limpar os campos... é que tem outro intervalos no código, osvaldomp. Isso é só uma parte do código.

Antes o código servia para limpar tudo... agora quero que limpe os demais e retorne mês e ano atual nesses intervalos. Agora realmente não precisa mais limpar esses dois.

Muito obrigado, Osvaldomp.

Re: Referenciar intervalo nomeado na linha de código VBA

Enviado: 09 Ago 2018 às 21:01
por osvaldomp
dica - não use Goto, Select, Activate. Esses comandos raramente são necessários. Eles limitam a versatilidade e retardam a execução do código.

exemplo, em lugar de
Código: Selecionar todos
 Application.Goto Reference:="RG_Mes"
    Selection.ClearContents
experimente
Código: Selecionar todos
Range("RG_mes").Value = ""

Referenciar intervalo nomeado na linha de código VBA

Enviado: 09 Ago 2018 às 21:44
por SandroLima
Obrigado pela dica, osvaldomp.

Vou ficar mais atento a isso.

Boa noite.