Como deixar Macro mais RÁPIDA e Ganhar 99% em Performance

Поділитися
Вставка
  • Опубліковано 1 гру 2024

КОМЕНТАРІ • 88

  • @brilhosombrionft
    @brilhosombrionft Місяць тому

    Ver o resultado inicial para o resultado final foi incrível!

  • @ExcelOnlineBrasil
    @ExcelOnlineBrasil  4 роки тому +10

    Não é preciso sofrimento para melhorar a performance de sua planilha, para deixar Macro mais rápida vou te ensinar 4 simples passos muuuito eficientes.😉

  • @pedrofim2496
    @pedrofim2496 2 роки тому +1

    Achei que o 99% do título era só pra chamar a atenção. Num é que diminuiu esse tanto mesmo?! Muito massa.

  • @wascarsilveira1
    @wascarsilveira1 2 місяці тому

    Caramba massa demais, eu pensando que sabia alguma coisa, passando é vergonha kk Top, sim bora aprender elevar o nível.

  • @fcunhapmk
    @fcunhapmk Рік тому +1

    Eu não amei, eu adorei. Muito obrigado pelo conhecimento!

  • @carlosmiguel9733
    @carlosmiguel9733 Рік тому

    Muito bom, não sabia que retirar o ".select" acelera a execução do código. Parabéns pela excelente didática. Estou inscrito.🎯

  • @ViniciusSilva-7
    @ViniciusSilva-7 4 роки тому +5

    Sensacional.

  • @victormatos6853
    @victormatos6853 3 роки тому +5

    A do cálculo manual eu tinha descoberto sozinho, mas o restante achei sensacional, principalmente a última dica

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  3 роки тому

      Feliz em ter ajudado Victor, desempenho de macros é sempre algo para se considerar no desenvolvimento de um recurso. Abs.

  • @maiconamaral7047
    @maiconamaral7047 Рік тому

    Sensacional!
    Amigo, eu fiz um sistema Frente de Caixa e Gestor de Estoque para minha mercearia e depois de 4 mil vendas registradas o delay pra salvar uma nova venda já estava em 33s, isso quando computador estava dedicado somente ao sistema sem mais nada aberto... O screen updating já estava ativo, mas a diferença maior foi desativar os cálculos e os eventos... De 33s passou para apenas 6s e isso pode melhorar mais ainda eliminando os selects como bem disse em sua última dica, porém isso no momento não vou fazer porque preciso avaliar bem o código para não deixar nada inoperante. Agradeço imensamente a sua dica gratuita e sucesso ao seu canal!

  • @jersonblender
    @jersonblender Рік тому

    MUITO TOP! Tenho uma planilha que em um PC ela roda meu código rapidinho, mas quando abrir em outro pc estava demorando uns 20seg pra gravar os dados da tela para a planilha, ao colocar esses códigos tá executando em 3seg. Show de bola. O link desse vídeo está salvo no código rsrsrs. valeu!

  • @r.mendesdemendonca1747
    @r.mendesdemendonca1747 Рік тому

    Show, professor, obrigado pela dica.

  • @joseadrianosoaressantos6611
    @joseadrianosoaressantos6611 3 роки тому +2

    Ótimo para explicar. Bom professor. Sou fascinado por Excel

  • @odairback7991
    @odairback7991 Рік тому

    sensacional!!!, PARABÉNS POR COMPARTILHAR CONHECIMENTO

  • @HugoCesar29
    @HugoCesar29 3 роки тому +3

    Que didática incrível! Fiquei muito surpreso com a ultima dica!

  • @daniellerocha6906
    @daniellerocha6906 Рік тому

    Que vídeo maravilhosoooo!!!! Obrigadaaaaa

  • @marceloforadini650
    @marceloforadini650 2 роки тому

    Excelente!!

  • @luccasbraga1930
    @luccasbraga1930 9 місяців тому

    Irmão, BIZARRO o tempo que tu me salvou! MUITO obrigado! Tmj!

  • @edalmircruz4024
    @edalmircruz4024 3 роки тому

    Descobrir esse canal hoje de achei muito top demais

  • @luciamariaandrade956
    @luciamariaandrade956 5 місяців тому

    Muito boa explicação , eu só não soube fazer a eliminações do select no meu código. ainda sou iniciante

  • @lucianonunes4623
    @lucianonunes4623 2 роки тому

    Show de Velocidade!🚀

  • @danielsantos4521
    @danielsantos4521 2 роки тому

    Minha nossa, vc é demais, parabéns e muito obrigado

  • @wellingtonribeiro587
    @wellingtonribeiro587 3 роки тому

    Atualização de tela e Eventos eu já tirava, mas o calculo automático vai mudar muito minha planilha que é cheeeeia de fórmulas kkkk
    Muito obrigado. Ganhou um inscrito

  • @luizfaresende
    @luizfaresende Рік тому

    Sensacional.
    Parabéns e obrigado pela dica.

  • @sulianofernandes780
    @sulianofernandes780 2 роки тому +1

    Excelentes dicas, estou começando a aprender sobre VBA e essas suas dicas são top! Vou aplicá-las em um planilha que já estava me dando esse problema de tempo de execução e te dou um retorno!

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  2 роки тому

      Obrigado pelo feedback Suliano. Feliz em ajudar.
      Um abs😉

  • @Electriwalll
    @Electriwalll 3 роки тому +1

    Muito show

  • @ewertonjuniorbatistavieira6506
    @ewertonjuniorbatistavieira6506 3 роки тому +1

    Sensacional! Adorei as dicas!!

  • @andremattos186
    @andremattos186 4 місяці тому

    Sensacional!!! 👏👏

  • @Kevin_Murilo
    @Kevin_Murilo Рік тому

    Vídeo muito bom

  • @joseadrianosoaressantos6611
    @joseadrianosoaressantos6611 3 роки тому

    Ótima explicação. Parabéns!!. Você meu problema, porque minha planilha estava muito lenta por conta de macros. Obrigado!!!

  •  7 місяців тому

    Muito bom, valeu pela dica!

  • @isacvs
    @isacvs 4 роки тому +1

    Essa foi show hem.

  • @moiseshonorato7825
    @moiseshonorato7825 2 роки тому

    Excelente

  • @franciscodaschagasrocha9963
    @franciscodaschagasrocha9963 2 роки тому

    Sensacional !!!!... Ótima dica, valeu mesmo!!!!!👍👍👍👍

  • @opauloso
    @opauloso 2 роки тому

    Obrigado! Ganhou mais um inscrito!

  • @juanore3036
    @juanore3036 2 роки тому

    Cara vc é um mestre. Que didática maravilhosa para explicar. Muito obrigado!

  • @marciohonoratopereira7282
    @marciohonoratopereira7282 2 роки тому

    Caramba!!! DICÃO!!! AULÃO!! Muito obrigado! Foi direto ao ponto e explicou muuuuuuito bem!

  • @Marcelo-qu5qi
    @Marcelo-qu5qi 3 роки тому +2

    Incrível

  • @ju_santos
    @ju_santos Рік тому

    Formidável!

  • @PedroRodrigues-mg3fv
    @PedroRodrigues-mg3fv Рік тому

    cara, puta merda queria vc na minha vida QUE AULA rápida mas PRODUTIVA PRA KRL. Parece até que vc usou os truques pra fazer o vídeo tmb kkkk

  • @diretaautoparts5643
    @diretaautoparts5643 Рік тому +1

    por favor, estou com erro nessa linha Cells(Rows.Count, 13).End(xIUp).Offset(1, 0) = tempoFIM - tempoINI
    e não aprece o calculo de tempo.

  • @flavionunes9300
    @flavionunes9300 Рік тому

    Perfeito

  • @marcomonteiro5661
    @marcomonteiro5661 Рік тому

    SHOW!

  • @jaojjaaoojjjaaaooo
    @jaojjaaoojjjaaaooo 12 днів тому

    gênio

  • @marcelocabral5096
    @marcelocabral5096 3 роки тому

    Excelente video, ganhou mais um inscrito. Obrigado por compartilhar seus conhecimentos e dicas

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  3 роки тому +1

      Feliz em ajudar Marcelo, e parabéns pelo interesse em aprimorar seus conhecimentos.
      Abs

  • @jscopa710
    @jscopa710 2 роки тому

    SHOWWWWWWW!!!!!

  • @FabianoDorflex
    @FabianoDorflex Рік тому

    onde coloco isso em uma planilha já pronta?

  • @bilicacko
    @bilicacko 2 роки тому

    Yeees!!!

  • @Vagnerkira
    @Vagnerkira 10 місяців тому

    É possível fazer o Excel abrir um software e dentro dele abrir as telas que eu preciso usar no dia dia ?

  • @JOSEARIELMODESTO
    @JOSEARIELMODESTO Рік тому

    a dica é sensacional porem quando desabilito o calculo automático minhas contas não saem certas

  • @eliezerbatistadeoliveira6303
    @eliezerbatistadeoliveira6303 3 роки тому

    Eu criei um banco de dados usando o Userform. Esses procedimentos deixariam o programa rodando mais leve?

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  3 роки тому

      Olá Eliezer.
      É muito relativo o tamanho do ganho, pois depende muito do código que está utilizando.
      Caso haja um loop, é mais provável que melhore a velocidade de execução.
      Se houver "seleções" de células ao longo da macro, também pode haver um ganho na remoção dessas seleções.
      Obrigado por acompanhar o canal.👍
      Um abraço.😉

  •  Рік тому

    Muito boa a aula, professor! Gostaria de tirar uma dúvida se possível, teria como em quanto a macro rodar habilitar o cálculo manual apenas de uma aba específica da planilha, caso eu tenha várias abas contendo planilhas e uma referenciando a outra? Um forte abraço.

  • @JoanesBH
    @JoanesBH 4 роки тому

    Muito obrigado! Dicas Sensacionais!!!! Porém eu ainda tenho problemas. Uso o Office 365 e, para formatar, preciso excluir cerca de 200 colunas de forma alternada dentro da planilha de dados (sem fórmula). O Excel demora cerca de 4 minutos para realizar a tarefa. tem alguma dica para este caso?

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  4 роки тому

      Olá Joanes, tudo bom?
      Muito grato em ajudar.😉
      Por favor, envia esse arquivo, deixa eu ver se podes melhorar alguma coisa nessas exclusões, uma vez que não há formulas acredito que poderia ser executado de modo mais rápido.
      Quantas linhas estão ocupadas nesta tabela?
      marcusrodello@excelonlinebrasil.com

  • @jscopa710
    @jscopa710 2 роки тому

    Muito bom!!!
    No trabalho tenho várias planilhas com Macros ... e uma coisa BEM CHATA é que, se incluo uma coluna ou linha, tenho que ir em todas as Macros e mudar as Matrizes!!! ... Alguma solução para isto?? ... Obrigado!!!

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  2 роки тому +1

      Feliz em ajudar.
      Voce pode utilizar um codigo que vai identificar qual a ultima linha preenchida na coluna que especificar, por exemplo :
      Range("a" & Rows.Count).end(xlUp).row
      Abs😉

    • @jscopa710
      @jscopa710 2 роки тому

      @@ExcelOnlineBrasil, linha nem é tão grave, já que dou sempre uma boa margem. No caso de coluna parece que achei uma solução. Ao invés de colocar a matriz no código, vou colocar automática numa célula e usar este código:
      Application.Goto Reference:="INDIRECT(R1C9)" . Essa semana vou testar.

  • @TheWAGNER3994
    @TheWAGNER3994 3 роки тому

    bom dia...
    tem como fazer comparacoes entre duas cel na mesma lin e señdo ambas iguais selecionar a segunda com valor maior na mesma col ?

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  3 роки тому

      Olá WO.SANTANNA SANT"ANNA .
      Desculpe, não consegui mentalizar corretamente a situação.
      Você mencionou das células serem ambas iguais, porém depois disse de uma ter valor maior que a outra.
      Pode exemplificar melhor por favor?
      Um abraço.👍

    • @TheWAGNER3994
      @TheWAGNER3994 3 роки тому

      @@ExcelOnlineBrasil
      boa noite...
      a minha ideia e copiar dados de uma lista criando uma nova .sem que tenha repeticoes na mesma linha... comparacoes dentro de uma plan

  • @nilsonsantos3908
    @nilsonsantos3908 3 роки тому

    Professor, embora eu tenha utilizado todos os códigos abaixo para desabilitar a tela e a atualização de eventos durante a execução do código (reativei no final), a tela pisca ao final da execução da macro. Como resolver isso?
    Sub Ordenar_TabelaCartao()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    Application.EnableAnimations = False
    Application.DisplayStatusBar = False
    Application.Calculation = xlCalculationManual
    shtTabelas.Activate

    ActiveSheet.ListObjects("tblCartao").Range.Select
    ActiveSheet.ListObjects("tblCartao").Sort.SortFields. _
    Clear
    ActiveSheet.ListObjects("tblCartao").Sort.SortFields. _
    Add2 Key:=Range("tblCartao[SITUACAO]"), SortOn:=xlSortOnValues, Order:= _
    xlAscending, CustomOrder:="Em andamento,Encerrada", DataOption:= _
    xlSortNormal
    ActiveSheet.ListObjects("tblCartao").Sort.SortFields. _
    Add2 Key:=Range("tblCartao[INICIO DO PAGAMENTO]"), SortOn:=xlSortOnValues, _
    Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveSheet.ListObjects("tblCartao").Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With

    Call Renumerar_TabelaCartao

    ActiveSheet.ListObjects("tblCartao").HeaderRowRange(1).Select


    shtpainel.Activate

    Range("Ano").Select

    Application.DisplayStatusBar = True
    Application.EnableEvents = True
    Application.DisplayAlerts = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableAnimations = True
    Application.ScreenUpdating = True

    End Sub
    Sub Renumerar_TabelaCartao()
    Dim linha As Integer
    Dim conte As Integer
    Dim vazio As Integer
    linha = 5
    conte = 1
    shtTabelas.Activate
    Cells(5, 25).Activate
    Do Until shtTabelas.Cells(linha, "Y") = ""
    If ActiveCell "" Then
    shtTabelas.Cells(linha, "X") = conte
    linha = linha + 1
    conte = conte + 1
    End If
    ActiveCell.Offset(1, 0).Activate
    Loop
    End Sub

  • @MrTedtage
    @MrTedtage 12 днів тому

    Muito bom, mesmo. Confesso que achei que em algumas das etapas, iria envolver arrays. Kkkkk

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  10 днів тому

      rs...boa pedida, arrays são poderosos, mas nem sempre são a melhor solução, nesse caso, foquei na performance sem complicar ;) Um abraço

  • @r.mendesdemendonca1747
    @r.mendesdemendonca1747 Рік тому

    Professor, esto quebrando a cabeça em classificar um combobox (A Z), já vi vários vídeos e não encontrei nada que desse resultado, na verdade um dos vídeos diz que por ter um laço em todos os itens ou linha demora um pouco, acaso tem alguma coisa que possa ajudar?

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  Рік тому

      Onde está a origem deste combobox? Você popula ele via loop?

    • @r.mendesdemendonca1747
      @r.mendesdemendonca1747 Рік тому

      @@ExcelOnlineBrasil Sim por um loop
      TotalItens = Controls(Objeto).ListCount - 1
      For I = Inicio To TotalItens
      For X = 1 To TotalItens
      If Controls(Objeto).List(I) > Controls(Objeto).List(X) Then
      Temp = Controls(Objeto).List(X)
      Controls(Objeto).List(X) = Controls(Objeto).List(I)
      Controls(Objeto).List(I) = Temp
      End If
      Next X
      Next I
      Exit Sub
      Só que não funciona.

  • @alinecardoso9668
    @alinecardoso9668 2 роки тому

    Olá pessoal :) Alguém sabe se macro pode dar bug no Excel? Meu formatar como tabela não funciona mais e nem a Microsoft conseguiu me ajudar, eu compartilho a conta com a minha irmã e o dela está normal. Obrigada.

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  2 роки тому

      Olá Aline. Já tentou remover o office, reiniciar a maquina e reinstalar? Ou efetuar a reparação da instalação? Isto pode ajudar.😉
      Nunca vi uma macro causar problemas no excel, mas ja vi macros que por exemplo, desabilitavam a tecla "delete" por algum motivo, mas que depois quando nao era mais necessario desabilitar, o pessoal esquecia de remover o codigo. Aí fica parecendo um problema do excel, mas na verdade ele está apenas seguindo a programação.
      👍

    • @alinecardoso9668
      @alinecardoso9668 2 роки тому

      @@ExcelOnlineBrasil Olá,obrigada, tentei a reparação e não deu certo, mas vou tentar tirar o Office e instalar novamente, ouvi que também poderia ser porque eu instalei o Windows 11, vou tentar de tudo aqui rs. Muito obrigada pelo retorno 🙂.

  • @fernandomarcandali6488
    @fernandomarcandali6488 Рік тому

    Tinha uma base que demorava 2 minutos e meio pra rodar.
    Agora está rodando em menos de 1 segundo kkkk

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  Рік тому +1

      Excelente notícia Fernando. Obrigado pelo feedback. O céu é o limite no VBA.😉
      Um abraço

  • @weslanalves4690
    @weslanalves4690 3 роки тому

    coloquei os códigos e deu tela azul sksksksk que odiooo

    • @ExcelOnlineBrasil
      @ExcelOnlineBrasil  3 роки тому

      Poxa vida Weslan.
      Rapaz, uma tela azul na hora de testar um código é desanimador mesmo.
      Mas é uma oportunidade para tentar novamente, e gerar mais aprendizado.
      Continue com essa garra.
      Abraço👍

  • @Harry8360
    @Harry8360 9 місяців тому

    Public Sub ControleGMA_BarraProgresso_FrmProgresso()
    Dim Total As Long
    Dim x As Long
    Dim Largura As Long
    Dim Percentual As Double
    Total = 10000
    With UserFormControleMCProgresso
    Largura = .Lbl_Evolucao_FrmControleMCProgresso.Width
    .Show
    End With
    For x = 1 To Total
    Percentual = x / Total
    With UserFormControleMCProgresso
    .Lbl_Evolucao_FrmControleMCProgresso.Width = Percentual * Largura
    .Lbl_Valor_FrmControleMCProgresso.Caption = Round(Percentual * 100, 1) & "%"
    .Repaint ' Forçar a atualização da tela
    DoEvents ' Permitir que a interface seja atualizada
    End With
    Next
    Unload UserFormControleMCProgresso
    End Sub