Cursos, tutoriais e planilhas prontas

Como copiar data de Userform para célula

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram

Leia também...

Colchetes no Excel

Acredito que não seja novidade para ninguém que as funções do Excel estão sempre envoltas em parênteses (se isso foi uma novidade para você, sugiro

Continuar lendo

Como copiar data de Userform para célula

Em um dos meus projetos mais recentes para um cliente, o arquivo que estou elaborando possui uma Userform, e neste um TextBox onde é inserida uma data que então é transferida para uma célula na planilha, mas como copiar data de Userform para célula mantendo a formatação de data desejada?

Se você já tentou fazer o mesmo, deve ter notado que o Excel não faz essa transição automaticamente, que a data salva na célula é na verdade salva em formato de texto, e não uma data, como gostaríamos.

Além disso, um extra deste post, vou te mostrar a como garantir que o valor digitado na TextBox da UserForm é realmente uma data e não apenas números quaisquer.


Vídeo de como copiar data de Userform para célula

O vídeo abaixo explica todo o processo, já o código utilizado no vídeo e o arquivo de exemplo podem ser encontrado mais abaixo. Caso não queira ver o vídeo, siga lendo as instruções.

Coloque o vídeo em tela cheia para assistir normalmente


Como NÃO copiar uma data de UserForm para célula

No UserForm abaixo temos uma TextBox onde tudo que o usuário precisa fazer é digitar uma data e esta data será salva na célula C7 da planilha. O UserForm é bem simples assim porque é apenas um exemplo, para focarmos só no que interessa aqui.

O TextBox da data foi nomeado como “Data” e o botão presente no UserForm foi nomeado de “Inserir”

O nosso impulso mais natural seria simplesmente inserir o seguinte código VBA dentro do UserForm:

Private Sub Inserir_Click()
Range("C7").Value = Me.Data
End sub

Parece simples e óbvio, afinal, estamos simplesmente dizendo que o valor da célula C7 deve ser igual ao valor contido em Data.

Porém isso não resolve, fazendo dessa forma o valor salvo na célula C7 será um texto e não uma data, como mostra a imagem.


Como copiar uma data de UserForm para célula

A única coisa que precisamos fazer para que o código acima funcione é informar ao Excel de que se trata de uma data. E o código para isso é:

Private Sub Inserir_Click()
Range("C7").Value = CDate(Me.Data.Value)
End sub

Notou a diferença? A única coisa que muda é aquele CDate que envolve o valor salvo em Data. Simples assim.


Como garantir que o valor inserido é uma data

Conforme prometido, aqui está o extra. Mesmo que já estejamos utilizando o código que garante que o Excel interpretará o valor como sendo uma data, também precisamos garantir que o usuário está inserindo uma valor de data válido.

Para isso vamos inserir um teste If no nosso código que ira testar se o valor contido em Data é de fato uma data, para só então inserir o mesmo dentro da célula C7.

Para isso utilizaremos o código IsDate(). A nossa macro final ficará da seguinte maneira:

Private Sub Inserir_Click()
 If IsDate(Me.Data.Value) = True Then
 Range("C7").Value = CDate(Me.Data.Value)
 Else
 MsgBox "Data incorreta!"
 End If
End Sub

Deixei em negrito tudo que foi adicionado de novo no código. Então para entender, criei um teste If que com auxílio da função IsDate irá avaliar se o valor contido no campo Data é mesmo uma data. Caso seja, a data é inserida na célula C7, caso contrário, uma mensagem é exibida na tela dizendo que a data inserida é incorreta.


Acompanhe o Função Excel
facebook-logo youtube-logo googleplus-logo twitter-logo

Leia também...

O poder do asterisco

O poder do asterisco Imagine as seguintes situações: Em uma base vocês tem a razão social de alguns clientes ou fornecedores e quer somar o

Ler »

Deixe um comentário ou uma dúvida

Compartilhe

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram

Planilhas prontas

Histórico de Cotações

Baixe cotações históricas de ações, índices, moedas, criptomoedas, commodities e fundos em mais de 50 bolsas de valores no mundo, direto no Excel. Selecione os parâmetros desejados e deixe o arquivo fazer o resto para você, de forma rápida, simples e organizada.

Saber mais »

Gerador de catálogos 2.2

Com o Gerador de catálogos do Função Excel você poderá criar catálogos personalizados de maneira muito fácil e rápida.

Os catálogos são gerados em formato PDF de forma automática, basta setar as configurações desejada e o arquivo fará tudo por você.

Gere seus catálogos e alavanque suas vendas.

Saber mais »

Leia também...

Faça uma doação

Nos ajude a continuar te ajudando.
Faça uma doação!

Compartilhe com o mundo

Gostou do artigo?
Não seja egoista, compartilhe!

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp

fique SEMPRE ATUALIZADO!

Junte-se a lista de e-mails do Função Excel

Receba e-mails semanais e melhore constantemente suas habilidades com Excel

Inscreva-se