Tive essa dúvida outro dia quando seguia outro tutorial seu! Simplesmente muito boa sua didática. Fiz conforme orientação no vídeo, adaptei para um cadastro de produtos que fiz a partir de um outro vídeo seu, ou seja, estou agrupando suas aulas e estou conseguindo fazer o que preciso para apresentar a um cliente, e está indo tudo muito bem. Uma observação... antes de seus vídeos eu não fazia ideia de como funcionava o VBA, e graças a seus vídeos estou com ótimas expectativas em relação a trabalhar com VBA. Muito obrigado pelo excelente material que disponibiliza para muitos que assim como eu estão aprendendo.
Vídeo incrível, Israel! Muito obrigado por abordar um tema que não é tão popular. Uso esse vídeo sempre que to mexendo com datas, agradeço pro compartilhar conhecimento!
Caramba, me ajudou demais! Forte abraço! Edit: Ainda tive que usar o Cdate depois pois o vba estava trocando os dias com os meses, mas o código serviu para avisar caso o usuário digite um valor errado de data.
Mais eu gostaria de saber se tem com ao clicar em uma lostbox selecionar automaticamente uma optionbuon ou uma checkbuton assim como os dados aparecem nas caixas de texto
08:11 na verdade, boa parte do mundo usa o mesmo padrão de data (dia/mês/ano) que o Brasil (www.megacurioso.com.br/historia-e-geografia/71532-veja-como-as-pessoas-escrevem-as-datas-em-diferentes-paises-do-mundo.htm). O padrão mês/dia/ano é só nos EUA mesmo.... No mais, excelente aula!
Eu tenho uma planilha de sorteios diários. Como faço para sortear só os inscritos do dia (data do computador)? Sem apagar manualmente datas anteriores.
Olá Israel Ás vezes pergunto como é que você sabe tanto de macros??? Extraordinário mesmo!!! Posso usar esta função para verificar e validar as minhas datas numa range da planilha?
Olá, exatamente. A função Cdate vai converter uma string em uma data e no formato brasileiro, que é basicamente a mesma coisa que declarar a variável como Date que foi o que fizemos no começo do vídeo. No entanto, se a data for algo como 01/15/2020 (inválida no formato dd/mm/aaaa) a funçao Cdate vai converter para data, porém no formato americano (15 de janeiro). Ou seja, usar a função Cdate tem exatamente o mesmo efeito que declarar uma variável como Date e atribuir um valor de texto a ela.
Olá professor Israel gosto muito das suas aulas te agradeço muito porque aprende muitas coisas que em outras aulas não aprende mas nessa aula de validação de data no exemplo que eu fiz a data até 12 ele aí continua invertendo será o que aconteceu alinha de código que usu é: activecell.offset(0, 24).value = TDataBatismo_água poderia me ajudar nesta questão. Eu te agradeço.
Obrigado pelo video bastante esclarecedor, mas no meu caso tenho a coluna da tabela formatada para "Data dd/mm/yyyy" e a variavel "minhaData" está no formato correto "08/12/1965". Quando faço Folha1.range("A1").value= minhaData, o excel grava na tabela "12/08/1965". Devo dizer que a célula onde o user escreve a data, também está formatada para "Data dd/mm/yyyy". Será que célula que recebe a data do user e a coluna da tabela, devem estar formatadas como texto? Obrigado pela ajuda
Opa Israel, gostaria de saber se existe algum jeito de controlar/acessar todos os formulários através de um modulo, por exemplo: Msgbox UserForm(0).Name -> "FormMenu" Msgbox UserForm(1).Name -> "FormCadastro" Nesse sentido. Eu até consegui encontrar um jeito de fazer isso, com UserForms(index), porem ele só funciona/reconhece os formulário em tempo de execução, ele considera o index como a ordem de inicialização dos formulários, por exemplo, se eu abrir o FormMenu, ele vai ser o index 0; se abrir o FormCadastro em seguida, o mesmo será o index 1, se fechar o FormMenu, o FormCadastro se tornar o index 0. com isso eu consigo acessar o formulário que eu quero fazendo: sub verificarFormulario(Formulario as string) dim numero as Integer For numero = 0 to UserForms.Count - 1 if UserForms(numero).name = Formulario then Exit For 'sabendo o index do formulario que eu quero eu posso mudar propriedades ou controlar os items dentro dele UserForms(numero).Controls("lbEfeito1").BackColor = RGB(0,0,0) End sub Private Sub UserForm_Initialize() call verificarFormulario(Me.name) End sub o único problema desse método que eu consegui fazer é verificar em qual index meu formulário está, por isso gostaria de saber se existe outro método. Obrigado desde já.
Olá, você pode usar esse código, e fazer referência ao formulário pelo seu próprio nome: MsgBox Application.VBE.ActiveVBProject.VBComponents.Item("UserForm1").Name Neste caso, você pode usar o índice também, mas como estamos falando da janela de projeto, vc deve considerar que todos os componentes são considerados (Módulos, Userforms e planilhas) e a ordem do índice é a ordem de criação, por padrão EstaPastadeTrabalho é o índice 1, depois os que forem sendo criados.
Bom dia! Tudo bom? Cara, eu estou com um problema num projeto de controle financeiro pessoal que apareceu sem mais nem menos. Seguinte, eu criei uma validação If para verificar se o mês da data atual é igual a 12 ou 01 e se o dia da data atual está entre 28 e 31 do 12 ou entre 01 e 09 do 01, e essa validação funcionou perfeitamente por meses. Porém, agora parou de funcionar do nada. Ao depurar o código eu vi que que a variável Dia não está recebendo o dia da Data atual e variável Mes não está recebendo o mes da data atual, ou seja, as funções Day(Date) e Month(Date) parecem não estar extraindo mais os respectivos trechos da data atual. Você saberia me dizer qual poderia ser o motivo causador desse problema? Desde já, muito obrigado!
Como fazer no VBA um lançamento na Planilha, do tipo: O meu cartão fecha dia 02 e a data de vencimento dele é dia 12, estou fazendo um lançamento de uma compra qualquerem qualquer data, você diz, mas na hora que for lançar na planilha ele vai verificar (VBA) se está entre a data de fechamento ou de vencimento, caso esteja, lançar pro mês seguinte, como fazer isso atravez de VBA? Almocei no dia 28 e paguei com Cartão, como fazer esse lançamento na Planilha? Almocei no dia 02 e paguei com Cartão, como fazer esse lançamento na Planilha?
@@DATA7Academy por exemplo tem alguma fomularios que ao fazer a pesquisa no banco de dados, com o sexo da pessoa ao invés do retorno vim numa caixa de texto ele marca o botão de opção. Isso é o retorno se em marca o botão de opção ao invés de retorna um texto na caixa de texto a reposta masculino ou feminino da retorno mancando o botão de opinião e não trazem o texto eu se que tem como fazer só não se com fazer. Tentei algumas vezes mais não deu muito certo uma hora marcava feminino e na outra na mesma seleção da lostbox manda nadava o retorno para o botão de opção marcar masculino. Queria resolver essa questão tauves seria até bom se vc respodece isso no seu canal eu não vi ninguém responde essa questão, pode aumentar sua audiência.
olá, tenho uma duvida, eu coloco imagens no userform, porem já tentei de tudo mas nunca fica com uma qualidade, mas as imagens que você utiliza ficam boa, poderia me dizer como consegue?
Bom dia.. alguém pode me ajudar com um código de vba? preciso de uma linha de código pra registrar a data da primeira abertura da planilha... alguém pode me socorrer?
Tem como alguém me ajudar? O Application.ScreenUpdating = False não funciona pra mim, ja testei em 3 computadores diferentes, com o excel 2019 e no 365, mas ele não deixa de estar como VERDADEIRO, alguém sabe o que pode ser?
Eu me chamo Eliovaldo de goianapolis, O lá Israel muito boa aula no tratamento de data te agradeço por mim ajudar porque tenho um cadastro de membro na igreja, mas eu fiz um exemplo e deu errado errado porque a data lançada na planilha ela inverteu o dia 10 com o mês 5 na texto está 10/05/2023 e foi lançado 05/10/2023 o código que eu uzei para lança na planilha o exemplo é plan1. Range ("a1") = textbox1.valui você poderia mim ajudar?
Curso de VBA do Zero ao Avançado - Assine por apenas R$49,90 por mês sem fidelidade👇🏼
data7academy.com.br/?origem=yt_org_validacaodatasvba
Excelente dica.
O VBA/Excel são muito "chatos" com a tratativa de datas.
Você matou o problema.
Muito obrigado e parabéns pelo seu canal.😃
Sua didática é sempre espetacular!!!
Obrigado amigo, continue nos acompanhando. Abraços!
Top demais. Agreguei com Do While e funcionou certinho. Valeu!!!
Tive essa dúvida outro dia quando seguia outro tutorial seu! Simplesmente muito boa sua didática. Fiz conforme orientação no vídeo, adaptei para um cadastro de produtos que fiz a partir de um outro vídeo seu, ou seja, estou agrupando suas aulas e estou conseguindo fazer o que preciso para apresentar a um cliente, e está indo tudo muito bem.
Uma observação... antes de seus vídeos eu não fazia ideia de como funcionava o VBA, e graças a seus vídeos estou com ótimas expectativas em relação a trabalhar com VBA.
Muito obrigado pelo excelente material que disponibiliza para muitos que assim como eu estão aprendendo.
Show de bola Rafael! Ficamos feliz em saber disso, continue nos acompanhando para aprender cada vez mais, abraços!
Aprendi demais com essa aula. Uma instrução completa para resolver o problema entre os formatos brasileiro e americano de data. Muito obrigado.
Aula incrivel. Você é o cara. Parabens. Ja apanhei demais com esse negocio de data no form e na planilha. Agora não apanho mais.
Excelente aula, muito produtiva, consegui viabilizar todo tratamento com Data no FORM depois dessa aula, muito obrigado!
Show Sergio, continue nos acompanhando. Abraços!
Show... foi demais o que eu estava procurando.
Que aulão da porra, velho! Muito obrigado pelo conteúdo gratuito e de ótima qualidade.
Obrigado João, que bom que gostou. Continue nos acompanhando, abraços!
Aula sensacional! Seus vídeos estão me ajudando muito!
Você explica com muita paciência, didática e de forma completa!
Amei essa aula, cada vez mais estou motivado na aprendizagem de trabalhar com VBA. Valeu Obrigada
Show Herculano! É isso aí, continue nos acompanhando para aprender cada vez mais. Abraços!
Obrigado Prof mais uma aula primorosa. Estou esperando a nova turma do curso. 👏👏👏
Obrigado Sergio! Em breve abriremos, previsão para comecinho de Dezembro, abraços!
Vídeo incrível, Israel! Muito obrigado por abordar um tema que não é tão popular. Uso esse vídeo sempre que to mexendo com datas, agradeço pro compartilhar conhecimento!
Obrigado amigo! Continue nos acompanhando, abraços!
muito top , sempre acompanho suas aulas
Show José! Continue nos acompanhando, abraços!
Caramba, me ajudou demais! Forte abraço!
Edit: Ainda tive que usar o Cdate depois pois o vba estava trocando os dias com os meses, mas o código serviu para avisar caso o usuário digite um valor errado de data.
Excelente o video!! Parabéns!!
Muito bom! Sempre aprendendo! Parabéns!
Obrigado Raphael! Continue nos acompanhando, abraços!
Sem comentários Parceiro, os elogios já estão na didatica
Estamos juntos Luiz. Abraços amigo!
Só dica boa, obrigado pela aula :)
Que bom que gostou amigo, continue nos acompanhando. Abraços!
*Gratitud* 📖 🙌
Excelente vídeo, inscrito e sininho ativado
Simplesmente incrível
Otimo vídeo. Parabéns.
Obrigado Eudécio. Continue nos acompanhando, abraços!
Excelente, parabéns
Obrigado José, continue nos acompanhando. Abraços!
muito, muito bom.
Ótimo vídeo!!!
Obrigado Adilson! Continue nos acompanhando, abraços!
muito bom mesmo, parabéns
Obrigado amigo, continue nos acompanhando. Abraços!
OBRIGADO PELO CARINHO E ATENÇÃO.
Ótima dica!
Que bom que gostou amigo. Continue nos acompanhando, abraços!
Olá! Obrigado por compartilhar o conhecimento. Por gentileza, não encontrei o link para baixar a planilha.
muito bom esse exercicio
Obrigado amigo, continue nos acompanhando. Abraços!
@@DATA7Academy boa noite suas aula são muito boas.
Mais eu gostaria de saber se tem com ao clicar em uma lostbox selecionar automaticamente uma optionbuon ou uma checkbuton assim como os dados aparecem nas caixas de texto
@@stallionbar sim, basta colocar no evento clique na listbox a instrução optionbutton.value = true
08:11 na verdade, boa parte do mundo usa o mesmo padrão de data (dia/mês/ano) que o Brasil (www.megacurioso.com.br/historia-e-geografia/71532-veja-como-as-pessoas-escrevem-as-datas-em-diferentes-paises-do-mundo.htm). O padrão mês/dia/ano é só nos EUA mesmo.... No mais, excelente aula!
Obrigado Sandir, abraços!
Eu tenho uma planilha de sorteios diários. Como faço para sortear só os inscritos do dia (data do computador)? Sem apagar manualmente datas anteriores.
Olá Israel
Ás vezes pergunto como é que você sabe tanto de macros???
Extraordinário mesmo!!!
Posso usar esta função para verificar e validar as minhas datas numa range da planilha?
Olá, pode usar sim
Israel, boa noite. A função CDATE não ajudaria no sentido de sempre transformar a data no padrão americano pro padrão brasileiro?
Olá, exatamente. A função Cdate vai converter uma string em uma data e no formato brasileiro, que é basicamente a mesma coisa que declarar a variável como Date que foi o que fizemos no começo do vídeo. No entanto, se a data for algo como 01/15/2020 (inválida no formato dd/mm/aaaa) a funçao Cdate vai converter para data, porém no formato americano (15 de janeiro). Ou seja, usar a função Cdate tem exatamente o mesmo efeito que declarar uma variável como Date e atribuir um valor de texto a ela.
Olá professor Israel gosto muito das suas aulas te agradeço muito porque aprende muitas coisas que em outras aulas não aprende mas nessa aula de validação de data no exemplo que eu fiz a data até 12 ele aí continua invertendo será o que aconteceu alinha de código que usu é: activecell.offset(0, 24).value = TDataBatismo_água poderia me ajudar nesta questão. Eu te agradeço.
Obrigado pelo video bastante esclarecedor, mas no meu caso tenho a coluna da tabela formatada para "Data dd/mm/yyyy" e a variavel "minhaData" está no formato correto "08/12/1965".
Quando faço Folha1.range("A1").value= minhaData, o excel grava na tabela "12/08/1965".
Devo dizer que a célula onde o user escreve a data, também está formatada para "Data dd/mm/yyyy".
Será que célula que recebe a data do user e a coluna da tabela, devem estar formatadas como texto?
Obrigado pela ajuda
fiz um sistema de agenda como faço pra colocar uma data e em outro campo altomatizar outra data meses pra frente ?
Opa Israel, gostaria de saber se existe algum jeito de controlar/acessar todos os formulários através de um modulo, por exemplo:
Msgbox UserForm(0).Name -> "FormMenu"
Msgbox UserForm(1).Name -> "FormCadastro"
Nesse sentido.
Eu até consegui encontrar um jeito de fazer isso, com UserForms(index), porem ele só funciona/reconhece os formulário em tempo de execução, ele considera o index como a ordem de inicialização dos formulários, por exemplo, se eu abrir o FormMenu, ele vai ser o index 0;
se abrir o FormCadastro em seguida, o mesmo será o index 1, se fechar o FormMenu, o FormCadastro se tornar o index 0.
com isso eu consigo acessar o formulário que eu quero fazendo:
sub verificarFormulario(Formulario as string)
dim numero as Integer
For numero = 0 to UserForms.Count - 1
if UserForms(numero).name = Formulario then Exit For
'sabendo o index do formulario que eu quero eu posso mudar propriedades ou controlar os items dentro dele
UserForms(numero).Controls("lbEfeito1").BackColor = RGB(0,0,0)
End sub
Private Sub UserForm_Initialize()
call verificarFormulario(Me.name)
End sub
o único problema desse método que eu consegui fazer é verificar em qual index meu formulário está, por isso gostaria de saber se existe outro método.
Obrigado desde já.
Olá, você pode usar esse código, e fazer referência ao formulário pelo seu próprio nome:
MsgBox Application.VBE.ActiveVBProject.VBComponents.Item("UserForm1").Name
Neste caso, você pode usar o índice também, mas como estamos falando da janela de projeto, vc deve considerar que todos os componentes são considerados (Módulos, Userforms e planilhas) e a ordem do índice é a ordem de criação, por padrão EstaPastadeTrabalho é o índice 1, depois os que forem sendo criados.
@@DATA7Academy hmm blz, muito obrigado
Bom dia! Tudo bom?
Cara, eu estou com um problema num projeto de controle financeiro pessoal que apareceu sem mais nem menos.
Seguinte, eu criei uma validação If para verificar se o mês da data atual é igual a 12 ou 01 e se o dia da data atual está entre 28 e 31 do 12 ou entre 01 e 09 do 01, e essa validação funcionou perfeitamente por meses.
Porém, agora parou de funcionar do nada.
Ao depurar o código eu vi que que a variável Dia não está recebendo o dia da Data atual e variável Mes não está recebendo o mes da data atual, ou seja, as funções Day(Date) e Month(Date) parecem não estar extraindo mais os respectivos trechos da data atual.
Você saberia me dizer qual poderia ser o motivo causador desse problema?
Desde já, muito obrigado!
Como fazer no VBA um lançamento na Planilha, do tipo: O meu cartão fecha dia 02 e a data de vencimento dele é dia 12, estou fazendo um lançamento de uma compra qualquerem qualquer data, você diz, mas na hora que for lançar na planilha ele vai verificar (VBA) se está entre a data de fechamento ou de vencimento, caso esteja, lançar pro mês seguinte, como fazer isso atravez de VBA?
Almocei no dia 28 e paguei com Cartão, como fazer esse lançamento na Planilha?
Almocei no dia 02 e paguei com Cartão, como fazer esse lançamento na Planilha?
Como fica a análise se a data errada for digitada diretamente em uma célula da Plan formatada como data?
Existe um controle para datas automático? Um calendario para que o usuário nao precise digitar a data e sim escolher...
Tem com ao clicar numa lostbox selecionar um opitionbuton chekbutom
Boa noite, amigo, não entendi a sua dúvida.
@@DATA7Academy por exemplo tem alguma fomularios que ao fazer a pesquisa no banco de dados, com o sexo da pessoa ao invés do retorno vim numa caixa de texto ele marca o botão de opção. Isso é o retorno se em marca o botão de opção ao invés de retorna um texto na caixa de texto a reposta masculino ou feminino da retorno mancando o botão de opinião e não trazem o texto eu se que tem como fazer só não se com fazer. Tentei algumas vezes mais não deu muito certo uma hora marcava feminino e na outra na mesma seleção da lostbox manda nadava o retorno para o botão de opção marcar masculino. Queria resolver essa questão tauves seria até bom se vc respodece isso no seu canal eu não vi ninguém responde essa questão, pode aumentar sua audiência.
olá, tenho uma duvida, eu coloco imagens no userform, porem já tentei de tudo mas nunca fica com uma qualidade, mas as imagens que você utiliza ficam boa, poderia me dizer como consegue?
Professor, quando eu colo via vba, ele está invertendo as datas dessa forma, mas datas que existe, eu não resolver
Bom dia.. alguém pode me ajudar com um código de vba?
preciso de uma linha de código pra registrar a data da primeira abertura da planilha...
alguém pode me socorrer?
Eu quero o BASIC IFC 2017
👍👍👍👍👍👍
Tem como alguém me ajudar? O Application.ScreenUpdating = False não funciona pra mim, ja testei em 3 computadores diferentes, com o excel 2019 e no 365, mas ele não deixa de estar como VERDADEIRO, alguém sabe o que pode ser?
se de vez criar uma variavel não seria mais facil formatar para data com o Cdate()
instagram.com/vbaacademy?r=nametag
Eu me chamo Eliovaldo de goianapolis, O lá Israel muito boa aula no tratamento de data te agradeço por mim ajudar porque tenho um cadastro de membro na igreja, mas eu fiz um exemplo e deu errado errado porque a data lançada na planilha ela inverteu o dia 10 com o mês 5 na texto está 10/05/2023 e foi lançado 05/10/2023 o código que eu uzei para lança na planilha o exemplo é plan1. Range ("a1") = textbox1.valui você poderia mim ajudar?