Função de data VBA

Função Excel VBA DATE

Data VBA é uma função de data e hora, ela retorna apenas a data atual de acordo com a data do sistema que você está usando, também o importante a notar é que esta função não contém nenhum argumento, outro fator importante a lembrar é que esta função retorna a data atual do sistema.

No Excel, não podemos viver sem algumas das funções e “VBA Date” é uma delas. Se você é um usuário frequente de planilhas do Excel, deve estar ciente de uma função chamada “TODAY ()”, que retornará a data atual conforme a data do sistema.

A data é uma função muito simples e retorna apenas a data atual de acordo com a data do sistema que você está usando. Isso funciona de forma muito semelhante à nossa função de planilha “HOJE”, mas não é de natureza volátil.

A sintaxe da função DATE do excel é muito simples porque não tem nenhum argumento para fornecer e inclui apenas parênteses vazios.

Encontro ()

Os parênteses existem apenas para explicar a função quando você usa a função sem necessidade de inserir parênteses.

Como usar a função de data do Excel VBA?

Você pode baixar este modelo Excel de data VBA aqui - Modelo Excel de data VBA

Exemplo 1

Suponha que você deseja inserir a data atual na célula A1 e siga as etapas abaixo para escrever o código para inserir a data atual na célula A1.

Etapa 1: Crie um nome de macro.

Código:

 Sub Date_Example1 ()

Passo 2: Como precisamos armazenar a data atual na célula A1, nosso código será Range (“A1”). Value .

Código:

 Sub Date_Example1 () Intervalo ("A1"). Valor End Sub 

Passo 3: Na célula A1, precisamos da data atual, então use a função DATE.

Código:

 Sub Date_Example1 () Intervalo ("A1"). Value = Date End Sub 

Etapa 4: Ok, terminamos. Vamos executar este código agora pressionando a tecla F5 ou você também pode executar o código manualmente, conforme mostrado na captura de tela abaixo. Obteremos a data atual na célula A1.

Portanto, quando estou escrevendo este código, a data atual em meu sistema é “15 de março de 2019”.

Nota: O formato  da data depende das configurações do Windows. De qualquer forma, você pode alterar o formato da data nas células de formato.

Exemplo # 2

Suponha que você seja um agente LIC e tenha vários clientes com quem lidar. Um dos objetivos principais é saber de quem é o vencimento do dia hoje, para que você possa ligar para eles e receber o pagamento imediatamente.

Suponha que a seguir está a lista de clientes que você tem em seu banco de dados.

Já escrevi um código que irá notificá-lo assim que você abrir o arquivo excel.

Código:

 Sub Due_Notifier () Dim Duedate As Date Dim i As Long Duedate = Date i = 2 For i = 2 To Cells (Rows.Count, 1) .End (xlUp) .Row If Duedate = DateSerial (Year (Date), Month ( Células (i, 3) .Valor), Dia (Células (i, 3) .Value)) Em seguida, MsgBox "Nome do cliente:" & Células (i, 1) .Value & vbNewLine & "Quantidade premium:" & Células (i , 2) .Value End If Next i End Sub 

Copie o código acima e cole no módulo VBA.

Agora clique duas vezes na opção “Esta pasta de trabalho”.

Agora selecione “Workbook” no menu suspenso acima.

Assim que você selecionar a opção “Workbook”, poderá ver que uma macro privada abre automaticamente.

Aqui, o nome da macro diz “Workbook_Open ()”, isso significa sempre que esta pasta de trabalho abre o que você precisa fazer. Sempre que esta pasta de trabalho é aberta, precisamos executar a macro que criamos.

Portanto, aqui precisamos chamar nosso macro que criamos por seu nome. No código acima, nosso nome de macro é “Due_Notifier”.

Código:

 Chamar Due_Notifier

Agora salve esta pasta de trabalho e feche-a.

Depois de fechá-lo, abra a pasta de trabalho e veja a mágica.

Agora vou abrir….

Uau!!! Ele me mostra o nome do cliente e o valor devido na data atual.

O nome do cliente é “Amar” e o valor devido é “20883”. O motivo pelo qual ele está exibindo o nome do cliente é que a data de vencimento do Sr. Amar é 15 de março de 2019, ou seja, hoje.

Agora clique em Ok, ele mostrará outros nomes de clientes se a data de vencimento for hoje.

Ele está mostrando o nome do Sr. Arvind, sua data de vencimento também é 15 de março de 2019.

Agora, você pode identificar facilmente os nomes dos clientes assim que chegar ao escritório. Uma das grandes dores de cabeça se foi.

Da mesma forma, criei mais uma macro do Excel que enviará e-mails automáticos de aniversário a partir do seu Outlook.

Exemplo # 3

Suponha que você faça parte de uma “Equipe de Engajamento de Funcionários” e seja responsável por enviar e-mails de aniversário para seus funcionários. Identificar e enviar o e-mail para cada um separadamente é um trabalho doloroso.

Olá, meu caro amigo, não se preocupe, criei uma macro para você enviar os e-mails automáticos de aniversário para seus funcionários.

Criei alguns dados para testar e abaixo está a imagem dos mesmos.

Você só precisa atualizar o cadastro de funcionários de acordo com os títulos da tabela. Abaixo está o código para enviar os emails.

Copie o código abaixo e cole no módulo.

Sub Birthday_Wishes () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Dim Mydate As Date Dim i As Long Definir OutlookApp = New Outlook.Application Mydate = Date i = 2 For i = 2 To Cells (Rows.Count, 1) .End (xlUp) .Row Definir OutlookMail = OutlookApp.CreateItem (olMailItem) If Mydate = DateSerial (Year (Date), Month (Cells (i, 5) .Value), Day (Cells (i, 5) .Value)) Then OutlookMail.To = Cells (i, 7) .Value OutlookMail.CC = Cells (i, 8) .Value OutlookMail.BCC = "" OutlookMail.Subject = "Feliz Aniversário -" & Cells (i, 2) .Value OutlookMail .Body = "Caro" & Cells (i, 2) .Value & "," & vbNewLine & vbNewLine & _ "Desejamos a você um feliz aniversário em nome da administração e desejamos todo o sucesso no futuro próximo" & vbNewLine & _ vbNewLine & "Atenciosamente,"& vbNewLine & "StrIDE Team" OutlookMail.Display OutlookMail.Send End If Next i End Sub

Assim que você chegar ao escritório basta abrir o arquivo e executar este código, ele enviará automaticamente os desejos de aniversário para os respectivos id's de e-mail.

Nota: Você deve ter o Outlook configurado em seu sistema.