Тёмный

[VBA] O poder das matrizes - Deixe seu código mais rápido e performático 

DATA7 Academy
Подписаться 62 тыс.
Просмотров 18 тыс.
50% 1

Curso de VBA do Zero ao Avançado - Assine por apenas R$49,90 por mês sem fidelidade👇🏼
data7academy.c...
Ao fazer sua assinatura hoje você terá acesso imediato a:
✅ Curso de VBA Completo (Do básico ao avançado)
✅ Curso de Excel Completo (Do básico ao avançado)
✅ Plano de Estudos Personalizado
✅ Lista de Exercícios
✅ Desenvolvimento de Sistemas e Programas Práticos em VBA
✅ Integração do VBA com Pacote Office (Word, Power Point, Access e Outlook)
✅ Integração do VBA com MySQL Online (Banco de dados online)
🎁 Lives e Eventos ao Vivo da DATA7 Academy (Todas as edições da Semana VBA na Prática)
🎁 Curso Completo de Web Scraping (Bônus por tempo limitado)
🎁 Curso Básico de Power BI (Bônus por tempo limitado)
🎁 Como ter um perfil atrativo no Linkedin (Bônus por tempo limitado)
🎁 Inglês para Entrevistas (Bônus por tempo limitado)
📃 Certificado de conclusão
➜ Baixe o arquivo utilizado na aula clicando no link abaixo 👇
data7academy.c...
➡ Se já domina o VBA, conheça o curso para aprender a automatizar a WEB com o VBA: vbaacademy.com...
Nesta aula eu te mostro como usar matrizes no Excel pode ser muito mais performático do que realizar cálculos nas células. Em uma tabela com 10 mil linhas por exemplo, ao fazer um loop em todas elas realizando cálculos direto na célula pode ser muito mais demorado do que salvar toda essa tabela em uma matriz na memória do computador e realizar os cálculos lá. Os cálculos realizados na memória do pc nao exigem recursos do Excel, por isso fica mais leve e você verá como pode fazer isso nesse vídeo.
➜ Conecte-se com a DATA7 Academy nas redes sociais:
• Instagram: / data7academy
• LinkedIn: / data. .
• Facebook: / data7academy
• Telegram: t.me/VBAacademy
• E-mail: vbaacademy@vbaacademy.com.br

Опубликовано:

 

22 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 51   
@DATA7Academy
@DATA7Academy Год назад
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_codigoperfomaticovba
@andersonmartins2166
@andersonmartins2166 2 месяца назад
Show. Até o primeiro modo que tu usou já ajudará muito em minhas extensas planilhas. Vlw. Sucesso, fera!
@eliascezario4147
@eliascezario4147 2 дня назад
O muito top essa sacada....aplicarem em todos meus códigos.....fiquei impressionado com o ganho de eficiência
@rubensn5945
@rubensn5945 Месяц назад
Muito bom. Ajudou. Obrigado.
@renatoklutchcouski650
@renatoklutchcouski650 Год назад
boa noite, vcs são os melhores
@paulopms1
@paulopms1 2 года назад
VBA Academy diferenciado....aborda matrizes e arrays Parabéns !!
@andrealexandrep.carlos3565
@andrealexandrep.carlos3565 2 года назад
Extremamente performático em qualquer utilidade. E a programação em si toma até menos tempo também e é mais enxuta. Sensacional, VBA Academy 👏👏👏👏👏
@joseph032531
@joseph032531 Год назад
Aula sensacional! Didática nota 1000! Muito obrigado!
@rafaelflores4183
@rafaelflores4183 2 года назад
Bicho, que aulão foda! Parabéns pela aula!!
@brunodesouzadias3677
@brunodesouzadias3677 2 года назад
Ansioso, aguardando a continuacao de uso de matriz para procura de valores
@farmarcos
@farmarcos 2 года назад
Como trabalhar com matrizes gera um ganho muito significativo na performance. Se possível, faça mais vídeos contendo exemplos para o uso de matrizes. Obrigado
@gersonchaves5860
@gersonchaves5860 2 года назад
Simplesmente FANTÁSTICO. FENOMENAL ... Ainda vou fazer o seu curso .. Parabéns
@RaphaelGuimaraes2011
@RaphaelGuimaraes2011 2 года назад
Muito bom! Obrigado por compartilhar! Faça maus exemplos mostrando o uso de matrizes. Abraços.
@eliterony
@eliterony 2 года назад
excelente
@cesarroberto4971
@cesarroberto4971 2 года назад
Israel como sempre sensacional. Prepara mais aulas como está sobre matriz, fazer comparativos na memória, e o que eu mais sinto falta.
@alissongomes8184
@alissongomes8184 2 года назад
Show! Parabéns!
@carloscosta4713
@carloscosta4713 Год назад
Excelente trabalho!!!!!!!!!!!
@DATA7Academy
@DATA7Academy Год назад
Muitíssimo obrigado, Carlos
@caiquefontes2435
@caiquefontes2435 2 года назад
Esse código é incrível. muito obrigado por compartilhar este conteúdo. Me ajudou demais. A velocidade em relação a forma que eu fazia é absurda. kkkk Saberia me dizer se é possivel aplicar funções como Find, Somases, cont dps da estrutra For? E se é possivel no Redim mes(1 to lin, 1 to 4) as variant -podemos definir mais de uma coluna e pode calcular varias colunas de uma vez?
@caiquefontes2435
@caiquefontes2435 2 года назад
Fala galera Consegui a estrutura de calcular várias colunas na mesma variável do redim e cálculos como somases e cont.ses. código exemplo é na mesma planilha. Vlw Na parte onde informa onde os dados deverão ser descarregados, deverá constar o mesmo número de colunas na variável, segue exemplo: Sub DiretoNaMatriz() Dim base As Variant Dim mes As Variant Dim nLin As Long, i As Long Dim tempo As Double tempo = Timer base = Range("A1").CurrentRegion.Value 'nLin = Range("A1").CurrentRegion.Rows.Count nLin = UBound(base, 1) ReDim mes(1 To nLin, 1 To 5) As Variant 'cabecalho das variaveis mes(1, 1) = "Ano" mes(1, 2) = "mes" mes(1, 3) = "diasemana" mes(1, 4) = "dianum" mes(1, 5) = "nomemes" For i = 2 To nLin mes(i, 1) = Year(base(i, 2)) mes(i, 2) = Left(MonthName(Month(base(i, 2))), 3) mes(i, 3) = Format(base(i, 2), "ddd") mes(i, 4) = Format(base(i, 2), "dd") mes(i, 5) = Format(base(i, 2), "mmmm") Next i 'Range("A1").CurrentRegion.Columns(31).Value = mes Range("AE1:AI" & nLin).Value = mes tempo = Timer - tempo MsgBox tempo End Sub E para cálculo de fórmulas deverá aplicar um set range dos dados que quer calcular. Segue exemplo: Sub calculoNaMatriz() Dim base As Variant Dim total As Variant Dim nLin As Long, i As Long Dim tempo As Double Dim busca_veiculos As Range Dim busca_feridos As Range tempo = Timer base = Range("A1").CurrentRegion.Value Set busca_veiculos = Range("Y:Y") Set busca_feridos = Range("X:X") 'nLin = Range("A1").CurrentRegion.Rows.Count nLin = UBound(base, 1) ReDim total(1 To 1, 1 To 2) As Variant total(1, 1) = WorksheetFunction.Sum(busca_veiculos) total(1, 2) = WorksheetFunction.Sum(busca_feridos) Range("AK1").Value = "total_veiculos" Range("AL1").Value = "total_feridoss" Range("AK2:AL2").Value = total End Sub
@lucianorm3990
@lucianorm3990 Год назад
Luciano de Presidente Prudente. Obrigado por compartilhar conhecimentos. Sou viciado em Excel, com suas aulas fiquei pior. Muito obrigado mesmo.
@odairback7991
@odairback7991 2 года назад
Excelente dica
Год назад
Vídeo sensacional. Como eu faria para pegar apenas os valores da primeira linha com as 31 colunas?
@andrelussac6547
@andrelussac6547 2 года назад
muito maneiro, curto muito esse canal, são sempre dicas muito mais práticas e menos linhas de programação.
@compilacaodememesnovos8353
@compilacaodememesnovos8353 2 года назад
Back when I used to use soft soft when I knew it kind of well I used the soft roll to make softs I thought it was just more effective
@AndarilhoLFS
@AndarilhoLFS 20 дней назад
7:30 matriz
@caiquefontes2435
@caiquefontes2435 2 года назад
Fala galera Consegui a estrutura de calcular várias colunas na mesma variável do redim e cálculos como somases e cont.ses. código exemplo é na mesma planilha. Vlw Na parte onde informa onde os dados deverão ser descarregados, deverá constar o mesmo número de colunas na variável, segue exemplo: Sub DiretoNaMatriz() Dim base As Variant Dim mes As Variant Dim nLin As Long, i As Long Dim tempo As Double tempo = Timer base = Range("A1").CurrentRegion.Value 'nLin = Range("A1").CurrentRegion.Rows.Count nLin = UBound(base, 1) ReDim mes(1 To nLin, 1 To 5) As Variant 'cabecalho das variaveis mes(1, 1) = "Ano" mes(1, 2) = "mes" mes(1, 3) = "diasemana" mes(1, 4) = "dianum" mes(1, 5) = "nomemes" For i = 2 To nLin mes(i, 1) = Year(base(i, 2)) mes(i, 2) = Left(MonthName(Month(base(i, 2))), 3) mes(i, 3) = Format(base(i, 2), "ddd") mes(i, 4) = Format(base(i, 2), "dd") mes(i, 5) = Format(base(i, 2), "mmmm") Next i 'Range("A1").CurrentRegion.Columns(31).Value = mes Range("AE1:AI" & nLin).Value = mes tempo = Timer - tempo MsgBox tempo End Sub E para cálculo de fórmulas deverá aplicar um set range dos dados que quer calcular. Segue exemplo: Sub calculoNaMatriz() Dim base As Variant Dim total As Variant Dim nLin As Long, i As Long Dim tempo As Double Dim busca_veiculos As Range Dim busca_feridos As Range tempo = Timer base = Range("A1").CurrentRegion.Value Set busca_veiculos = Range("Y:Y") Set busca_feridos = Range("X:X") 'nLin = Range("A1").CurrentRegion.Rows.Count nLin = UBound(base, 1) ReDim total(1 To 1, 1 To 2) As Variant total(1, 1) = WorksheetFunction.Sum(busca_veiculos) total(1, 2) = WorksheetFunction.Sum(busca_feridos) Range("AK1").Value = "total_veiculos" Range("AL1").Value = "total_feridoss" Range("AK2:AL2").Value = total End Sub
@jeferson-jeffexcel5560
@jeferson-jeffexcel5560 2 года назад
Massa, gosto muito de usar as Matrizes / Arrays
@samuelarildo2387
@samuelarildo2387 2 года назад
Obrigado pelo conteúdo não me arrependo de ter comprado o curso
@pedromedeiros1551
@pedromedeiros1551 Год назад
Israel que a Aula foi interessante não resta menor dúvida. Mas para mim que sou Leigo no assunto (VBA) mesmo estando praticando o EXCEL já no nível MÉDIO, nesta fase pouco me ajuda entender os Códigos VBA, lógico que com o passar do tempo essa Complexidade sobre VBA tende a diminuir, o inicio é sempre assim qualquer que seja o assunto, a sensação é de improvável. Porém espero que seja atenuativo a progressão do meu aprendizado. Porque o VBA é complexo, mas com a evolução do nível de conhecimento imagino torna-se Fascinante. Dt: 30/12/2022
@andrecayo2288
@andrecayo2288 2 года назад
Thank you! Here's a request from ! Can you please make a tutorial on how to record your actual tutorial and input your own soft
@DATA7Academy
@DATA7Academy 2 года назад
Olá, nao entendi sua questão
@marcosdemelo1956
@marcosdemelo1956 2 года назад
Bom dia, Israel Obrigado pelas excelentes aulas. Queria perguntar, Como contar linhas em um aquivo csv a partir de outro arquivo?
@lincolnikeda891
@lincolnikeda891 Год назад
Bom dia, por que na primeira sub vc setou base e na segunda aub não?
@brunodesouzadias3677
@brunodesouzadias3677 2 года назад
Quando tento usar o mesmo exemplo em minha planilha já da estouro na variant base. E minha planilha tem menos linhas do que a planilha do exemplo.
@DATA7Academy
@DATA7Academy 2 года назад
Olá, precisamos ver o seu código para entender o motivo do erro
@kaka080365
@kaka080365 Год назад
Boa aula Israel! Mas eu tenho uma dúvida. Seria possível fazer a mesma coisa com uma listview? Se sim, você poderia fazer um vídeo mostrando o código com esse mesmo arquivo? Obrigado!
@ronaldolopes165
@ronaldolopes165 2 года назад
Se fosse usar a função IF Comparando duas células que estão em colunas diferentes? Seria essa variável mês representando uma coluna e outra Variável tbm representando a outra coluna ?
@DATA7Academy
@DATA7Academy 2 года назад
Exato
@samuelarildo2387
@samuelarildo2387 2 года назад
Faz aula no curso sobre pagamento pix
@samuelarildo2387
@samuelarildo2387 2 года назад
Vai ter mais aulas de webscript
@adairtecnicoeminformaticae8364
@adairtecnicoeminformaticae8364 2 года назад
VBA Academy vc tem o Curso de VBA com Banco Acess ou outro Banco sendo Controle de Estoque?
@DATA7Academy
@DATA7Academy 2 года назад
Em nosso curso temos alguns projetos com banco em access, mas nenhum deles é um controle de estoque, no entanto todos eles te dão base suficiente de conhecimento para criar o seu próprio controle de estoque
@ProgramadorEstoico
@ProgramadorEstoico 7 месяцев назад
Que absurdo
@carlosfuno8144
@carlosfuno8144 Год назад
Valeu o esforço, mas dá pra resolver isso em 1 ou 2 linhas, e ser muito mais rápido que isso. De qualquer forma parabéns pelo esforço.
@DATA7Academy
@DATA7Academy Год назад
Me mostra com resolver isso em 1 ou 2 linhas, fiquei curioso
@carlosfuno8144
@carlosfuno8144 Год назад
@@DATA7Academy O princípio é o mesmo, usando as boas práticas de uso do Excel, procurar sempre usar a memória que é mais rápido, como você utilizou, mas a diferença é fazer esse trabalho sem uso de loop e sim rodar isso em bloco, desta forma será instantâneo. #FICAADICA
@DATA7Academy
@DATA7Academy Год назад
@@carlosfuno8144 entendi, mas a proposta do vídeo nao era essa e sim fazer uma comparação entre preencher direto na célula e usar a memória, e para que a comparação seja justa eu usei o loop em ambos os casos.
@luizhz
@luizhz 2 года назад
Não seria mais justo a comparação dos dois códigos fazendo "Application.ScreenUpdating = False" no caso 1 ? Para cada valor lançado no caso 1 a tela atualiza e o custo de tempo é muito impactante. só não testo agora pois são 03:00h hauhauahsue
@DATA7Academy
@DATA7Academy 2 года назад
Para esse caso específico o screenupdating não é relevante
@DATA7Academy
@DATA7Academy 2 года назад
Mas ajuda mto também
Далее
VBA | FIND NEXT - Localizar Tudo
33:29
Просмотров 24 тыс.
[VBA] MÓDULO DE CLASSES - EFEITO PLACEHOLDER
43:36
Просмотров 11 тыс.
The joker favorite#joker  #shorts
00:15
Просмотров 10 млн
HA-HA-HA 👊  #countryball
00:15
Просмотров 2,6 млн
15 Macros que você deveria conhecer no Excel
46:13
Просмотров 82 тыс.
Encontrar elementos na Web com Selenium - VBA
42:18
Просмотров 11 тыс.
DoEvents e Barra de Progresso VBA
30:29
Просмотров 9 тыс.
Aprenda a Usar Dicionários no VBA em uma Única Aula
23:07
Aprenda todas as funções de Data no VBA
37:15
Просмотров 24 тыс.
VBA - Collections - (Coleções) - Aula 01 - Introdução
1:22:52
The joker favorite#joker  #shorts
00:15
Просмотров 10 млн