Excel VBA Curso Grátis Relatórios SQL no Excel

Excel VBA Curso Grátis Relatórios SQL no Excel Olá bem-vindo a mais esse vídeo do guid Excel Sou professor e consultor Marcos riper e nesse vídeo eu vou dar para você de graça um curso de como montar relatórios dql dentro do Excel Então você vai aprender do zero esse projeto você vai ver desde a parte do banco de dados como você tem um banco de dados de exemplo ali e depois como conectar esse banco de dados no Excel fazer consultas mudar essas consultas dinamicamente apenas mudando os dados n células e apertar um botão ele consultar esses.

Excel VBA Curso Grátis Relatórios SQL no Excel

Bancos em instantaneamente dentro do seu Excel tudo isso de uma forma bem prática bem fácil com download gratuito O link tá aqui embaixo na descrição Então já baixa ele para você acompanhar essa super aula que nós vamos ter agora lembrando também que nós temos a nossa formação profissional em Excel aqui é uma amostra do que você vai ter dentro da nossa formação nela você aprende desde o Excel básico desde o zero não sei nada de Excel não tem importância desde o zero até níveis altos como a gente vai ver nesse curso hoje então.

Nele você vai ter vai Excel básico avançado lógica de programação iba então mesmo que nunca programou não tem importância desde o zero você vai ter ainda powerquery você vai ter Excel avançado dois com Matriz dinâmicas vai ter ainda Power bi Excel dashboards Excel financeiro e HP 12C PowerPoint Power bi tudo isso dentro de a nossa formação com acesso vitalício mais de 14 horas de vídeo e toda vez tem uma.

Atualização com novas aulas e novos cursos você recebe também todos esses cursos todos com certificado e ainda te dou 30 dias de garantia Tá bom mas agora chega de falar e vamos então ao nosso projeto ao nosso curso eu vou mostrar para vocês como a gente consegue fazer consultas SQL dentro do Excel então montar relatórios dentro do Excel utilizando esql e VBA eu vou mostrar bem passo a passo como funciona então para vocês aqui eu abri um arquivo access vou fechar aqui para mostrar de novo abrindo ele então tá aqui ó vendas. SDB baixa ele aqui no teu.

Computador O link tá aqui embaixo na descrição para me acompanhar na aula tá eu vou mostrar bem passo a passo funciona para qualquer relatório que você for fazer com SQL Vamos abrir primeiro ele aqui então Ó você tem as consultas aqui clicando você tem as tabelas isso eu vou mostrar aqui uma conexão com access Mas pode utilizar com SQL server com MySQL outros bancos não tem importância só conectá-los e e utilizar da forma como eu vou mostrar para você então muito bem aqui tem as tabelas categoria essa aqui é uma tabela.

De vendas tá então eu coloquei aqui categoria de produtos eletrônico roupas clientes tá produtos produto preço categoria claro que daí eh talvez fosse uma estrutura melhor se fosse um um sistema de verdade mas aqui eu tô montando só eh simulando um tá mais simples vendedor lista de vendedores e da persoa atual de de comissão que você vê aqui e aqui você tem a tabela de vendas onde a gente vai ter a ligação entre eles então tem o ID.

Campo sequencial o campo da data da venda o ID cliente que é o código do cliente que você vai pegar dessa tabela aqui esse código aqui é aquele código que você vê aqui o ID produto é esse campo aqui do ID do produto vendedor esse código ID do vendedor então se eu mudar o nome do cliente da categoria do vendedor então ele já vai eh tá interligado porque tá ligado com o código não importa os outros Campos e aqui a quantidade de.

Venda tá E aqui foi a quantidade que foi vendido Tá bom então isso aqui é a nossa tabela principal onde a gente tem os lançamentos né a tabela de fato E essas são as tabelas de dados onde a gente vai ter as dimensões tá bom muito bem então tendo essas tabelas eu montei aqui um SQL vou mostrar para vocês o SQL explicar um pouco a respeito dele tá o objetivo desse desse vídeo em em si não é a gente explicar como funciona skl e tudo mais porque para isso você precisa de mais tempo você precisa de uma aula mais específica para isso nessa aula nós.

Vamos aprender a criar relatórios com SQL no Excel Então veja aqui ó Então nesse Campo aqui o que a gente tá fazendo né deixa eu mostrar para vocês a primeira cláusula select você tem então os campos que vão ser selecionados ele pergunta quais Campos selecione então daí eu tô falando para ele Ó da tabela venda eu quero que traga o ID então da tabela venda eu tô trazendo esse campo aqui ID na tabela venda não separar por vírgula na tabela venda eu quero a data da venda então tô trazendo a data da venda categoria da tabela categoria eu.

Quero trazer o a o nome da categoria O des categoria ali tá descrição categoria e assim por diante produto o vendedor o produto número do preço e daí aqui eu coloquei um apelido para ele mas valor unitário venda quantidade venda quantidade vezes produto que eu tô fazendo um cálculo então aqui eu tô pegando fazendo o cálculo do total ó número da quantidade vezes o produto preço então eu tô aqui fazendo o total.

Da venda daquele item vendedor percentual de comissão e aqui eu tô calculando a comissão então o vendedor quantidade que aquele que a gente viu antes vezes o preço vezes o percentual de comissão e daí eu já tenho a comissão daquele vendedor então aqui eu tô selecionando quais Campos eu desejo logo abaixo eu tenho a cláusula from até aqui eu tô fazendo para ele dar onde eu tô trazendo as informações tá então isso aqui significa da onde eu estou trazendo Eu.

Estou trazendo da tabela venda que é a nossa tabela principal aqui tabela fato depois fazendo uma ligação esse einer join Tô fazendo uma ligação onde vou encontrar todos os itens tá onde ele é um para todos tá todos com todos então se não tiver na tabela produto ele não vai trazer então eu tô mandando aqui ó D tabela produto tô ligando a venda com a tabela produto no campo venda pontoid produto quando ele for igual ao produto ID então eu tô pegando esse campo aqui ID produto com o produto ID Tô fazendo.

Veja Também:

    Uma ligação por eles A partir dessa chave do produto dessa chave do produto

    E daí eu tô ligando eles aqui ó nesse momento que eu tô ligando essas duas tabelas depois eu ligo de novo aer join essa tabela que a gente criou aqui que a gente ligou essa ligação que a gente criou aqui eu tô ligando ela então categoria produto pon ID categoria com categoria ID então eu tô ligando a tabela produto ID categoria que eu tenho aqui ó ID categoria do produto eu tô ligando então na nossa consulta com.

    Categoria ID tá tabela categoria ID tô ligando aqui categoria ID para retornar desse categoria E depois Finalmente eu tô indo então ligando com a tabela vendedor Aonde eu tô ligando vendas pid vendedor com vendedor pid vendas pid vendedor com vendedor pid certo então aqui eu tô ligando todas as tabelas para eu poder dizer quais são da onde tá vindo esses campos todos aqui de cima e por fim a gente tem aqui então as cláusulas we tem a cláusula depois a.

    Gente vai falar do by mas a cláusula we eu tô fazendo um filtro eu tô dizendo para ela quando né Aonde a quando então eu tô fazendo aqui ó onde né venda pon data venda between então quando a data esver entre essas duas datas para botar data no access eu coloco assim invertido de e entre hashtag então tem que pegar é dessa forma que você faz dentro do Axis cada linguagem tem as suas particularidades e vendedor pdes vendedor que é o nome do vendedor né.

    Nome do vendedor que tenho aqui foi igual a João Almeida Então quando for João Almeida eu quero que retorne a informação dele e quando tiver dentro desse período aqui esse Order by um eu coloquei poderia ser Order byy vendas ID podia escrever aqui ó venda. ID ia dar no mesmo do que eu digitar um Por quê ele tá pegando o primeiro campo do sele da seleção o primeiro segundo o terceiro o quarto eu vou fazer assim tá então eu vou botando aqui e ainda poderia colocar aqui ask n de forma.

    Crescente e desque de forma decrescente por padrão ele retorna de forma crescente agora design de consulta executar eu vou conseguir ver então qual é o resultado da minha consulta olha ali o campo de ID data da venda categoria produto vendedor valor unitário quantidade total que é multiplicação dos dois percentual de comissão do vendedor e aqui eu tenho a comissão então calculada então em cima do valor total total vezes o valor do percentual de comissão dá esse valor da comissão aqui.

    E é isso que a gente tá querendo retornar para dentro do Excel mas eu quero retornar daí eu vou fazer variáveis dentro dele Vou permitir que o relatório permita períodos diferentes permita o vendedor diferente permita uma ordem diferente crescente ou decrescente tudo isso eu vou fazer então dentro do Excel agora vamos abrir aqui então o nosso Excel Então dentro do Excel já deixei um pouquinho da estrutura pra gente não sair do zero pra gente não demorar tanto pra gente montar tudo então como é que a gente vai fazer aqui ó deixa eu mostrar.

    Para vocês primeiro a configuração então na configuração eu coloquei aqui local do banco como você pode notar eu coloquei o caminho completo do meu arquivo vendas PSDB para você pegar ele é só pegar aqui ó caminho completo aqui em cima copia Ele cola aqui tá Cola aqui nesse caso coloca uma barra e daí bota o nome do arquivo tá então pega ali e o nome do arquivo exatamente como está lá muito bem esse campo aqui a gente vai chamar de local banco aqui em cima você vai colocar local banco dá o enter então.

    Aqui eu tô nomeando ele quando eu faço isso eu tô criando então ali um endereço tá então eu tô criando ali ó dando nome para ele eu posso chamar ele em qualquer lugar tá eu tô nomeando ele aqui como se eu viesse aqui em definir nome e fizesse isso mesma coisa tá muito bem agora nós temos uma lista dos vendedores que eu peguei a partir do meu SQL lá ou já tinha daqui criei uma tabela chamada T vendedores se eu vim aqui ó tabela T vendedores peguei essa lista dei um Alt TTA e transformei ele numa lista então aqui eu tenho uma lista com todos os.

    Nomes e vendedores eu vou utilizar isso depois aqui eu tenho no campo na tabela ordem na T ordem eu tenho uma lista com todos os campos que a gente vai ter então nome do id data da venda categoria exatamente a sequência que eu tenho aqui quando eu executo o script tá então é exatamente essa sequência que a gente tem aqui é a sequência que eu tenho lá isso vai permitir depois que ao selecionar o item ele já retorne e dá para cá utilizando então uma função corresp depois Vou até.

    Apagar depois a gente faz do zero isso aqui tá bom agora no relatório eu tenho a

    Seguinte estrutura então eu tenho aqui os campos deixa eu aumentar aqui eu tenho aqui os campos certo aqui eu botei Unos totais depois a gente vai montar junto data inicial do relatório data final do relatório vendedor ordenado por daí a gente vai botar o campo que eu quero ordenado e a forma crescente ou decrescente agora vamos montar todos esses parâmetros aqui certo então Primeira coisa eu vou pegar já essa.

    Tabela de vendas e vou criar então uma lista para ele então agora a gente vai montar aqui vou criar em fórmulas definir nome ou gerenciador de nomes novo e vou criar uma lista dos vendedores eu vou vou chamar ele aqui underline vendedores tá para saber que eu sempre coloco assim como listas eu coloco underline antes seleciono todos os campos que eu tenho aqui todas as informações que eu tenho no na no corpo do da t vendedores vendedores vou dar um ok então o nome Ó vendedores deine de.

    Vendedores pronto tá ali fechei voltei para cá vim aqui em vendedor e agora eu vou clicar em dados validação de dados e aqui lista igual underline vendedores quando eu faço isso eu tô trazendo Então a partir daquele intervalo nomeado a lista com todosos vendedores e se eu incluir um novo vendedor lá automaticamente ele já vai aparecer aqui porque ele tô pegando a partir da tabela Então não preciso pegar e fazer outras artifícios Basta fazer.

    Isso aí já resolve e tirando esse aqui ele vai deixar de aparecer aqui então o teste por exemplo muito bem Além disso aqui eu tenho a data inicial no campo data Inicial Eu Vou botar aqui ó DT in tá aqui em cima tá vendo ali em cima tô definindo o nome ali então como DT in nesse eu vou chamar de DT fim tá certo fica mais fácil melhor pra gente trabalhar dentro do VBA aqui ordenado eu vou pegar essa lista de ordenado mesma coisa que eu fiz antes fórmulas definir nome o.

    Gerenciador de nome novo underline ordem e aqui eu vou pegar então o corpo da a nossa tabela peguei o t ordem ordem então underline ordem dei um ok Voltei pro Opa fechei Voltei pro relatório aqui então ordenado por eu vou de novo em dados validação lista igual underline ordem e já vai aparecer aqui então todos os campos que a gente tem certo então.

    Essa aqui vai ser a nossa ordem que a gente vai utilizar aqui eu vou botar então 1 do 1 31 do 1 já para ele ficar já formatado para você ver que já tá essas partes estão funcionando aqui em forma eu vou colocar crescente ou decrescente aqui crescente ou decrescente então eu vou colocar aqui dados validação de dados eh lista pode ser e aqui eu vou colocar mesmo crescente ponto e vírgula decrescente Então como são só dois Campos eu não preciso fazer uma configuração então eu posso escrever diretamente e dar um ponto e vírgula ele.

    Já vai aparecer aqui ó ordem crescente ou ordem decrescente Ok tem Campos que não estão nomeados aqui que eu vou utilizar lá dentro então essa lista esse campo aqui essa célula que eu estou aqui então eu vou chamar ele de vendedor vendedor e se eu vou chamar de ordenado mesmo ou ordem pode ser ordem e esse aqui eu vou chamar de forma certo portanto aqui selecionado Ok aliás esse aqui ó ordem a gente não vai.

    Buscar Daqui nós vamos buscar daqui Então esse ordem que eu tenho aqui eu vou mudar ele presta atenção agora tá Fiz uma coisa ali mas a gente vai mudar então gerenciador de nome você já vai aprender Então como é que muda aqui caso você tenha feito errado no endereço então ten aqui ordem você vai selecionar ele aqui onde tem relatório C8 tu vai tirar daqui e vai selecionar aqui no selecionado tá porque eu quero puxar a partir do número eu quero o número não quero o nome do campo lá um campo.

    Interno sim salvar sim pronto e agora esse como se chama ordem vai ser utilizado dentro do VBA depois muito bem agora a gente vai fazer um corresp e um Cerro aqui ó igual Cerro abre parênteses corresp E qual é o campo que eu tô procurando eu tô procurando este Campo aqui opa não sei por que não pegou relatório C8 pode travar ele tá peguei ali C8 ponto e vírgula Matriz procurada então tô procurando.

    Nesta Matriz aqui da ordem tá ponto e vírgula tipo de correspondência exato fecha parênteses E se eu não selecionar nada ponto e vírgula um tá então se não selecionar nada ele vai retornar um fecho parênteses D enter e olha só então ele tá dizendo que ele selecionei o quatro 1 2 3 4 se eu for lá olhar tá no produto se eu vim aqui mudar para um outro quantidade ele vai tá no quantidade no sete então você pode notar aqui sete Contagem tá bom feito isso tá tudo pronto pra gente poder trabalhar.

    Então dentro do Excel Além disso só deixa eu transformar isso aqui também numa tabela a gente pode chamar ela de T relatório ou coisa assim selecionei tudo aqui ó deixei sem ser como tabela criei aqui Alt TTA tá ou inserir tabela e a minha tabela tem cabeçalho Sim vou dar um ok para ela criou Então a nossa tabela defina qual como você quiser a tua tabela aí e tal tá Vou definir ela assim e aqui eu vou botar o nome para ela ter.

    Relatório ter relatório ou relatório comissão qualquer coisa que você queira nome que eu tenho aqui então tem relatório feito então a gente vai vir agora para guia desenvolvedor para habilitar ela Caso não esteja habilitada botão direito personalizar faixa de opções aqui você vai marcar e vai marcar aqui ó desenvolvedor marca ela tá marca guia desenvolvedor ela vai aparecer assim para você certo daí a gente vai clicar em Visual Basic e.

    Dentro de Visual Basic a gente vai poder trabalhar então você vai clicar aqui ó inserir módulo vai aparecer o módulo vazio aqui embaixo tá onde você vai então fazer o seu código primeira coisa que você vai fazer é mudar o nome que você tem aqui ó muda para módulo um sem acentuação até hoje é um erro que ele tem ali essa questão do módulo tá então a gente tira tá isso aí pode dar erro depois e dependendo o teu a configuração do teu Windows certo então então botei aqui sem sintuação e agora a gente já vai então programar muito bem agora a.

    Primeira coisa que a gente vai fazer aqui é a gente configurar as referências do VBA Então você vai clicar em ferramentas referências e vai localizar esses dois itens ó Microsoft activex data objects objects 6.1 Library e Microsoft activex data objects Record set 2.8 Library caso você não tenha o 2.8 pode pegar a versão mais recente mesma coisa pro objects libery Esses são os campos do Record são as configurações.

    Pro campo de Record PR os objetos de Record set e aqui pro banco de dados tá então se a gente vai precisar deles aqui marca eles que são as bibliotecas que ele tá carregando então com os códigos que a gente vai utilizar Ok objetos vou dar um ok aqui então e agora a gente vai partir então pra programação propriamente dito eu vou explicar o melhor que eu puder aqui e se você não tá muito habituado com programação não tem importância vai funcionar perfeit esse código aqui tá você pode adaptá-lo também e claro se você quiser aprender.

    Muito mais sobre Excel muito mais sobre VBA sobre programação e você pode fazer também o nosso curso aonde você vai aprender do zero a programar em Excel desde o zero desde do zero do Excel da lógica de programação você vai aprender até a programação avançada é muito mais do que a gente tá mostrando aqui lembrando que são nove cursos desde o Excel básico que você quiser aprender básico avançado Matriz din você tem lógica de programação em VBA dashboards Power query Power Bi você vai.

    Ter então uma formação bem completa Tá bom eu sempre reitero isso porque é um ótimo curso benefício acesso vitalício e com certeza você vai gostar ainda te dou 30 dias de garantia tá bom continuando Então vamos lá option explicit Esse comando aqui ele vai fazer então que seja obrigatório você declarar as variáveis Eu sempre gosto de fazer isso tá então eu deixo ele por padrão agora eu vou criar ar um campo chamado uma variável chamada Global uma um do tipo Global chamada CNN ou Connection tá aad.

    DB pon Record aliás pon Connection tá então isso aqui é o campo de conexão essa aqui é a variável de conexão tá então essa variável que eu tô chamando de global porque eu vou utilizar no código todo não tá dentro de um código específico de um procedimento de uma função específica por isso eu tô colocando ela aqui em cima declarando ela no começo se tivesse mais globais você ia fazer a mesma coisa então CNN é o nome dela o tipo dela S vai ser então adob a AD DB Connection P Connection Ok.

    Então aqui continuando nós vamos fazer agora o procedimento de conexão com o banco de dados Public sub e aqui eu vou chamar de GS conectar BD abre e fecha parênteses vou dar o enter ele já cria aqui então o nosso procedimento já o sub agora vou dar mais um enter aqui din din declaração de variável SQL o nome dela ans string então aqui eu tô criando uma variável chamada esas string onde eu vou.

    Fazer então a conexão com que eu vou utilizar para fazer Nossa string de conexão esse string é do tipo texto if CNN is Nothing ou seja não existe então um uma conexão então if então se não existir uma conexão não exti o objeto con Connection ainda criado eu vou setar ele set CNN ig a new AD DB P Connection isso é um procedimento padrão para objetos então quando a gente tem objetos a gente tem que setar ele criar ele eu não tô.

    Fazendo nada aqui no momento eu só tô criando ele não existiria se eu pegasse chamasse ele direto sem fazer isso aqui ele ia dizer olha não existe não vai funcionar então não basta declarar quando a gente tem objeto a gente precisa criá-lo precisa setá alocar na memória Não se preocupa assim se você tá se eu tô falando alguma coisa que você não tá entendendo como eu disse no curso a gente explica do zero bem detalhadamente tá aqui a gente tem que passar de uma forma mais resumida mais suscinta então tem coisas que eu não vou.

    Poder explicar profundamente porque precisaria de base para fazer isso outras bases Tá bom mas aqui você vai entender o melhor que puder vou tentar explicar para você sempre Então vou botar aqui ó if CNN state diferente de um ou seja não está conectado tá verif quando tivesse igual a um seria conectado diferente de um desconectado then and if então aqui eu tô olhando a propriedade Connection quando eu crio o objeto ele já cria já tem as propriedades todos os campos do objeto então Esso aqui é uma propriedade dele tá verificando então se ele tá ligado.

    Ligado se tá conectado esse banco ou não se não tiver conectado ele vai mandar conectar para conectar a gente vai poder vai fazer o seguinte código eu não vou digitar isso aqui porque não Não perda de tempo então eu vou copiar ele aqui e vou colar tá você pode baixar também digital colar tanto faz então esse aqui é o código que você vai fazer conexão de acordo com o banco você vai mudar o provider vai mandar o data sece vai botar o password user Então você consegue localizar isso aqui ó esse eh.

    Pode chamar por string de conexão você vai chamar se você precisar né conexão VBA se você procurar string de conexão VBA e o nome do banco por exemplo access por exemplo SQL server você vai encontrar na internet tá bom pode até utilizar e inteligência artificial que eles já montam isso para você também tá bom então tá ali ó esse aqui como a gente faz provider o nome dele o o a o tipo dele o nome também a versão que eu tô.

    Fazendo tá concatenando então continuando a mesma linha data sece é o local lembra aquela configurações local banco que a gente colocou aqui ó nome dele aqui ó que eu coloquei para ele configurações então aqui você colocaria Esse nome que tá aqui ó o nome da frente quando eu clico no objeto na planilha lá em cima Alt f11 para mostrar aqui ó configurações então eu tô buscando este Campo aqui ó local banco de configurações Alt f11 o nome interno que.

    Eu botei para ele é configurações então ficou configurações P Range que é o local onde ele está e o nome dele tá ponto value para pegar ele então e aqui o jet P dbase tá configuração dele outra configuração Então esse aqui é o campo onde ele tá pegando data search exatamente daquele caminho se eu pegar ele aqui e colocar no verificação imediata cont CRL G se não tiver aparecendo com interrogação colo aqui dou enter e tá ali o nome completo então do caminho onde está tá então esse aqui é o string de conexão é o que ele vai utilizar Por enquanto é só um texto que.

    Eu botei dentro de uma variável chamada SQL agora eu vou mandar ele abrir a conexão CNN openen SQL tá então eu tô mandando CNN openen e tô passando como parâmetro para ele a string de conexão ó Connection string string tô passando para ele aqui ó se tivesse user Ed passw você ia passar também passando vírgula aqui ó tá outros bancos provavelmente vai ter 100 ali esse aqui a gente tá aberto tá bom então se eu dar F8 aqui ó e verificar vamos testar então ele criou o objeto agora ele vai verificar tá desligado criou o nosso string de conexão se eu pegar ele aqui colocar.

    Interrogação deu enter você vai ver o string todo criado ali e agora vai mandar fazer conexão conex conectou né se eu passar aqui em cima ó CNN state 1 ou seja deu certo tá deu certo então F8 F8 e deu então funcionou direitinho Ótimo então nossa conexão tá funcionando agora a gente vai passar pra segunda parte onde nós podemos fazer por exemplo uma desconexão se você quiser desconectar o banco apagar aqui uma linha para desconectar o banco você pode fazer assim ó.

    Public sub GS desconectar DD abre e fecha parênteses Dá um enter deixa eu dar um clicar nesse botão aqui para exibir apenas esse procedimento não apagou nada tá se clicar nessa opção aqui ele vai mostrar somente o procedimento que você tá atual on error resume next Então se der algum erro passa pro próximo e aqui CNN pclose só isso então ele vai fechar caso ele tivesse aberto ele iria fechar por exemplo Então queo você queira fechar Em.

    AVISO LEGAL: Toda a responsabilidade do conteúdo e autoria deste vídeo transcrito, é do produtor do canal. Clique no Link do Vídeo: https://www.youtube.com/watch?v=Ru4hI1PJV6I

Postar um comentário

Postagem Anterior Próxima Postagem