# 29 - Course macros and Excel VBA - Identify duplicate records

Поделиться
HTML-код
  • Опубликовано: 15 сен 2024
  • 29 - Course macros and Excel VBA - Identify duplicate records
    In the twenty-ninth class we will work with various concepts learned in the course to identify duplications in more than one sheet.
    Through a full list of names, we will go through all the worksheets in our workbook to point out what spreadsheets have duplicate names.
    Topics covered:
    - Sheets.count
    - Sheets (x)
    - Do While
    - For ... Next
    - IF ... Then ... Else
    I hope you enjoy the content.
    If you like to share with your co-workers and friends!
    ************************************************
    complete course of Advanced Excel Online. Go!
    curseduca.com/1...
    ************************************************
    Access spreadsheets:
    www.sigaonerd.com
    OTHER COURSE CLASSES
    Lesson 1 - Introduction to Course and description of what is a macro
    • #01 - Macros Excel VBA...
    Lesson 2 - First macro: configure automatically page
    • #02 - Macros e Excel V...
    Class 3 - Types of macros: Relative or Absolute
    • #03 - Curso de Macros ...
    Lesson 4 - Associating macros buttons
    • #04 - Curso de Macros ...
    Lesson 5 - Macro Security
    • #05 - Curso de Macros ...
    Lesson 6 - Registration Client - Model 1
    • #06 - Macros e Excel V...
    Lesson 7 - Registration Client - Version 2
    • #07 - Macros e Excel V...
    Lesson 8 - Combo Box - Form Control
    • #08 - Macros e Excel V...
    Lesson 9 - Checkbox and Radio Button - Form Control
    • #09 - Macros e Excel V...
    Lesson 10 - List Box and Spin Button - Form Control
    • #10 - Macros e Excel V...
    L11 - Start of VBA programming activities
    • #11 - Macros e Excel V...
    Lesson 12 - Events (Activate, Calculate), comment code, RANGE instruction and Verification Immediate
    • #12 - Macros e Excel V...
    Lesson 13 - Variables in VBA
    • #13 - Macros e Excel V...
    Lesson 14 - Variables in Visual Basic for Applications (continued)
    • #14 - Macros e VBA - E...
    Class 15 - Repetition structure - DO WHILE ... LOOP
    • #15 - Macros e Excel V...
    Lesson 16 - Repetition structure - DO WHILE ... LOOP (reverse)
    • #16 - Curso de Macros ...
    Lesson 17 - Repetition structure - DO UNTIL ... LOOP
    • #17 - Curso de Macros ...
    Lesson 18 - Repeat structure with criteria - IF Function
    • #18 - Curso de Macros ...
    Lesson 19 - Repetition structure - FOR NEXT
    • #19 - Curso de Macros ...
    Lesson 20 - Repetition structure - FOR NEXT STEP ...
    • #20 - Curso de Macros ...
    Lesson 21 - Repetition structure - FOR EACH ... NEXT
    • #21 - Curso de Macros ...
    Lesson 22 - Repetition structure - FOR EACH ... NEXT - With the user password prompt
    • #22 - Curso de Macros ...
    Lesson 23 - Registering opening and closing sheet (using the Environ statement)
    • #23 - Curso de Macros ...
    Lesson 24 - Blocking access to a spreadsheet for login
    • #24 - Curso de Macros ...
    Lesson 25 - Error Handling - On Error GoTo
    • #25 - Curso de Macros ...
    Lesson 26 - Delete records from a register
    • #26 - Curso de Macros ...
    Lesson 27 - Change records of a record
    • #27 - Curso de Macros ...
    Lesson 28 - Manipulating several spreadsheets: Delete data, Hide and unhide
    • #28 - Curso de Macros ...
    RUclips channel confirmation link
    / @alessandrotrovato
    Follow us on Facebook or Twitter
    / sigaonerdpontocom
    / aletrovato
    Excel is a Microsoft Office program

Комментарии • 86

  • @edgarsantarosa9847
    @edgarsantarosa9847 3 года назад +7

    Fiz um teste aqui, caso queiram localizar os valores independentemente de espaços a direita ou esquerda e maiúsculas ou minúsculas, pode ser utilizado nome = Trim(LCase(ActiveCell.Value)) e na comparação do if Trim(LCase(ActiveCell.Value)) = nome

  • @augustocarlos6379
    @augustocarlos6379 2 года назад +1

    Muito, muito bem explicado! Parabéns pela didática, simples e objetiva!

    • @AlessandroTrovato
      @AlessandroTrovato  2 года назад

      Muito obrigado Augusto pelo feedback! Espero que goste de todo o curso! Bons estudos!

    • @augustocarlos6379
      @augustocarlos6379 2 года назад

      @@AlessandroTrovato ah, sim! Estou "mastigando" cada aula.

  • @tamirisdasilva4049
    @tamirisdasilva4049 4 года назад +3

    Obrigada por ser esse otimo professor. Adoro quando você erra ou esquece de alguma coisa.Pois antes de você corrigir, eu ja sei onde esta o erro ou o que foi esquecido. Sinal de que sua aula esta dando frutos. Obrigada! :D :D

    • @AlessandroTrovato
      @AlessandroTrovato  4 года назад +1

      Excelente Tamiris! Vejo que o aprendizado está sendo consistente... Eu até tento não errar nos vídeos, mas tem hora que não dá... hehehe
      Bons estudos!

  • @pabloferreire
    @pabloferreire 6 лет назад +2

    Depois de (ActiveCell.offset(0, 1).Value = ActiveCell.offset(0, 1).Value & " / " & planilha) também deve-se ter outro "Exit Do", porque se não tiver, o código segue em frente e lê o comando para mudar de linha, e essa linha acaba sendo mudada na primeira planilha. O que leva a uma não avaliação de uma posterior planilha para o nome selecionado.

    • @MrValmilson
      @MrValmilson 5 лет назад

      quando fiz o código de acordo com o vídeo, dava esse erro, depois de baixar a planilha modelo, vi que tinha algumas alterações que não estavam no vídeo, uma delas é a que você menciona!

  • @SRicardoTB
    @SRicardoTB 4 года назад

    Primeiramente gostaria de agradecer por compartilhar esse conhecimento Alessandro, Deus o abençoe!
    fiz o meu exercício de limpar o conteúdo assim:
    ultLin = w.Range("b2").End(xlDown).Row
    w.Select
    w.Range("b2").Select
    If ActiveCell.Value "" Then
    w.Range("b2", "b" & ultLin).Select
    Selection.ClearContents
    End If
    Mas outra coisa, quando tem o mesmo nome em mais de duas planilhas, o resultado do local onde achou o nome ele pula uma linha para registrar.
    eu inclui um exit do e resolveu o caso.

  • @gabrielrodrigo9870
    @gabrielrodrigo9870 9 лет назад +1

    Essa aula merece uns 4 likes pelo menos. Me ajudou muito.

    • @AlessandroTrovato
      @AlessandroTrovato  9 лет назад

      Olá Gabriel Rodrigo ! Então lhe retorno com 4 agradecimentos ! Bons estudos

  • @joaodias2715
    @joaodias2715 5 лет назад +1

    Boa noite Alessandro! Ao invés de voltar na Plan1 toda vez que encontro um nome optei por criar uma string que vou concatenando com o nome das planilhas mais um separador. Acho que assim roda mais rápido.
    Estou adorando seu curso, mesmo vendo dois anos depois! Sucesso!

    • @danbarros8696
      @danbarros8696 5 лет назад +1

      Esse método não faz diferença alguma, a menos que não use "ScreenUpdating = False".
      Perceba que ao selecionar a "Plan1" novamente e uma célula "X" qualquer receber "Nome", isso se dará por atribuição (Plan1.select.Range("X").select = Nome), mas como usa o método "select", a seleção na planilha acontece visualmente. Então se "ScreenUpdating" for igual a "False", a etapa de seleção "não acontece"(Plan1.Range("X") = Nome) já que nenhum processamento é gasto nessa tarefa.
      Usando uma string de suporte ficaria:
      "String = Nome" e depois "Plan1.select.Range("X").select = String".
      É aconselhável usar atribuição direta usando variável (Plan1.range("X") = Nome/String), pois evita erros de seleção em wb/planilha/célula inválida.
      Melhorar a performance do algoritmo nesse nível normalmente é irrelevante, dado o poder das cpu's atuais, o tempo gasto e a geração de complexidade no código. Mas no Excel isso pode fazer diferença ao considerar o volume de dados a ser executado. +1 pelo solução.

  • @AlessandroTrovato
    @AlessandroTrovato  9 лет назад +5

    Aula 29 - Macros e VBA - Excel - Curso Grátis e Completo - Aprenda a Programar
    Através de uma lista completa de nomes, vamos percorrer todas as planilhas de nossa pasta de trabalho para apontar quais planilhas apresentam os nomes duplicados.
    Tópicos abordados:
    - Sheets . count
    - Sheets(x)
    - Do While
    - For ... Next
    - IF ... Then ... Else
    Bons estudos!
    ruclips.net/video/zMNy0ZORErU/видео.html

  • @felipefeitosa9856
    @felipefeitosa9856 4 года назад

    Muito obrigado, seu curso tem mudado minha vida profissional.
    Já indiquei pra pelo menos 30 pessoas, te desejo todo sucesso e sorte do mundo!

  • @leandroethayza
    @leandroethayza 4 года назад

    Mais explicado do que isso, impossível!!! Parabéns!!

  • @daedos
    @daedos 4 года назад

    Estou acompanhando todas as aulas, Só tenho agradecimentos a sua paciência, didática e acima de tudo, generosidade em dividir todo seu conhecimento.

  • @paulonascimento3461
    @paulonascimento3461 3 года назад +1

    Olá, Alessandro. Muito obrigado pelo conteúdo, simplesmente sensacional. Dessa código inteiro, só um comando que não consegui compreender plenamente:
    Set UltCel = ActiveCell
    porque esse comando funcionou sem ao invés de activecell.value

    • @AlessandroTrovato
      @AlessandroTrovato  3 года назад

      A variável do tipo range UltCel foi dimensionada para uma célula (cell) e não para um valor da célula (value).

  • @humilitywewantit
    @humilitywewantit 9 лет назад +2

    Parabéns por sua nobre iniciativa de compartilhar seus conhecimentos gratuitamente.
    Estou acompanhando seus vídeos, novidades e canal.
    Forte abraço!
    Que você tenha ainda mais sucesso!

  • @julioalafecopa8950
    @julioalafecopa8950 Год назад +1

    Excelente curso. Poderia apresentar um curso de Python com essa didática.

    • @AlessandroTrovato
      @AlessandroTrovato  Год назад +1

      Já estou com o conteúdo programático pronto Júlio. Estou escrevendo agora os exemplos para em breve gravar!

  • @Deivid8525
    @Deivid8525 2 года назад

    valeu pelo conteúdo!

  • @daniellamaria2252
    @daniellamaria2252 8 лет назад +2

    Olá, Alessandro. Sobre o exercício dado no fim dessa aula, achei interessante para praticar um pouco o que foi ensinado até então. Durante a construção do código, também senti a necessidade de apagar os resultados antigos antes de rodar uma nova busca. Então trapaceei e escrevi o seguinte antes de W.Range("a2").Select :
    W.Range("B:B").EntireColumn.ClearContents
    W.Range("b1").Value = "Aparece em:"
    É a primeira vez que lido com VBA, então acho que por enquanto esse "cambalacho" serviu, eheheh. Mas, sei que terei que refinar cada vez mais os códigos.
    Grata pelas aulas.

    • @AlessandroTrovato
      @AlessandroTrovato  8 лет назад +1

      Olá Daniella! Está correta a sua abordagem. Geralmente eu limpo a planilha ou a região onde os dados serão inseridos. Prefiro até apagar completamente as colunas / linhas para não ficar nenhum lixo para a próxima execução. Crio os títulos e formatação também. Geralmente é uma planilha nova a cada execução... Parabéns pelas adaptações e bons estudos!

  • @neorobsondeazevedo5559
    @neorobsondeazevedo5559 7 лет назад

    Estava tão concentrado que estou fazendo conforme você vai falando, ao final não deu certo, ao rever observei a mensagem no vídeo sob a tratativa, estou procurando a não olhar o que está sendo escrito e sim escutar e tentando escrever os código por você passado conforme o entendimento do trabalho a ser feito. Parabéns ALessandro, estou gostando muito. Muito mesmo.

  • @Diego-wn1sj
    @Diego-wn1sj 7 лет назад

    Olá Alessandro, estou acompanhando suas aulas e estão me ajudando muito! Essa aula #29 foi excelente, pois reúne os conteúdos de repetição das aulas anteriores, parabéns!

  • @gerissonray
    @gerissonray 6 лет назад +1

    Parabens pelo canal, pelos cursos e pela didatica que voce usa. Parabéns pela voz, tem voz de locutor de documentário.

    • @AlessandroTrovato
      @AlessandroTrovato  6 лет назад

      Muito obrigado pelo feedback e pela mensagem Raí! Fico muito feliz que goste das atividades. Quem sabe um dia não faço um documentário ou um áudiobook sobre o Excel. Grande abraço!
      Se você ainda não é um inscrito(a), convido a se inscrever em meu canal de vídeos!
      Espero que os mais de 530 vídeos tutorias que possuo atualmente (só de Excel são mais de 300!) possam lhe ajudar.
      Site com todos os vídeos dos cursos completos organizados: sigaonerd.esy.es/index.html
      Bons estudos e sucesso!

    • @gerissonray
      @gerissonray 6 лет назад

      Faça sim, será um sucesso!

  • @binhoodias
    @binhoodias 7 лет назад +1

    Parabéns pela aula show de bola!!

    • @AlessandroTrovato
      @AlessandroTrovato  7 лет назад

      Grato pela mensagem e pelo feedback Fabio!
      Se ainda não é um inscrito(a), convido você a se inscrever em meu canal de vídeos!
      Espero que os mais de 460 vídeos tutorias que possuo atualmente (só de Excel são mais de 200!) possam lhe ajudar.
      Bons estudos e sucesso!

  • @antoniovaz5519
    @antoniovaz5519 8 лет назад +1

    Excelente aula ou melhor excelente o curso! Parabéns!

  • @ismailin
    @ismailin 9 лет назад

    Mais uma ótima aula !
    Obrigado Alessandro!
    Abraços!

    • @AlessandroTrovato
      @AlessandroTrovato  9 лет назад

      Muito obrigado Ismailin Powel pela sua mensagem e por acompanhar os trabalhos!

  • @amarildo2176
    @amarildo2176 3 года назад

    Prof. Quando o nome está contido em mais de 3 planilhas. E é realizada a procura do 3° nome, ao entrar no comando ELSE, ele sai das duas condicionais e a célula ativa fica sempre no final da "planilha 1" por conta do "offset(1,0)" . Então a informação da localização do nome fica na última célula também, separada das duas primeiras localizações. Então, eu olhei e percebi que é preciso colocar "Sheets(a).select" logo abaixo da instrução: ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, 1).Value & " / " & Planilha . E deu certo. kkk

  • @fabio3512
    @fabio3512 6 лет назад

    Parabéns pela aula professor Trovato, excelente!
    Uma observação:
    No minuto 22:36 você inclui a variável “UltCel”, porém não tem necessidade, pois o comando “ActiveCell.Offset(1,0).select “ já faz o deslocamento para próxima célula a ser analisada.
    Espero que ajude outras pessoas com essa observação...

  • @tiagosantana326
    @tiagosantana326 7 лет назад +1

    Muito Interessante!!!

    • @AlessandroTrovato
      @AlessandroTrovato  7 лет назад

      Grato pela mensagem Tiago!
      Convido você a conhecer os demais vídeos do canal. Atualmente tenho quase 400 vídeos publicados sendo que do Excel já são mais de 160! Segue abaixo o link para inscrição no canal. As aulas estão todas gravadas e liberadas em playlists para facilitar os estudos.
      Link de inscrição: ruclips.net/channel/UCw774e7LrGYFc-D97JT1oCg
      Site com conteúdo (dos cursos completos) em ordem de estudo: sigaonerd.esy.es/index.html
      Bons estudos e sucesso!

  • @kino7991
    @kino7991 4 года назад

    Qual a aplicabilidade dessa rotina? Conceitualmente, gostei da aula por mostrar de que forma podemos incrementar as estruturas de repetição com elas mesmas e com as condicionais. Com relação à rotina em si, estou tendo dificuldades em enxergar usos práticos. Alguém pode me ajudar?

  • @dd.correa
    @dd.correa 5 лет назад

    Boa noite!!
    obrigado pelo conteúdo, tenho aprendido bastante contigo!!
    Obs: faltou a instrução "Exit Do" após a instrução "Else", pois inserindo novas planilhas do jeito que esta no vídeo, o preenchimento do nome da Planilha vai pra outra célula ao invés de concatenar.

  • @michelcesar85
    @michelcesar85 9 лет назад

    Muito Bom! Obrigado!

    • @AlessandroTrovato
      @AlessandroTrovato  9 лет назад

      Obrigado Platini Cesar pela mensagem! Eu é que agradeço por acompanhar o trabalho!

  • @adoniasjanuario4377
    @adoniasjanuario4377 6 лет назад

    Bom dia Alessandro, muito boa aula. Poderia me ajudar ? Essa planilha que você cria nessa aula me seria muito util se fizesse a busca somente na plan2 e encontrando criasse na plan3 nova tabela com os dados encontrados sendo que copiasse tambem as tres celulas a frente do valor encontrado na plan2. Ainda , se hiuver repeticoes, colocasse logo abaixo e quando fosse procurar o segundo valor, encontrando, pulasse uma linha e criasse outra tabela na plan3 logo abaixo da primeira

  • @assisgauderetogaudereto7882
    @assisgauderetogaudereto7882 7 лет назад +1

    show

  • @alcatraz2515
    @alcatraz2515 4 года назад

    Alessandro, inicialmente muito obrigado pelas aulas. Ajuda muito na minha rotina diária.
    Tentei ajustar um controle aqui conforme esta aula.... uma busca para identificar repetições numa planilha de registros mensal.
    Tenho várias linhas com vários dados, várias colunas, mas preciso identificar quais itens foram repetidos num mesmo dia.
    A coluna com o item seria a C e as datas estão na coluna H.
    Não consegui adaptar para rodar estas condições, tendo em vista que estas análises de repetições precisam estar dentro do mesmo dia, ou seja, após identificar todos os itens no dia 01/05/20, algum se repetiu dentro deste período de tempo?
    Conseguiria montar uma aula com este "probleminha"?

  • @nilvm
    @nilvm 7 лет назад +1

    Fala Alessandro Parabéns pelo curso .. Gostaria de saber para procurar em planilhas que estão em outra pasta de trabalho por exemplo .. alguma pasta na rede ... teria que definir alguma variável como Workbook?

  • @henriquemurakami7996
    @henriquemurakami7996 3 года назад

    Ótima aula Alessandro, Parabéns! Estou conseguindo utilizar os seus ensinamentos para desenvolver algumas planilhas.
    Uma dúvida, eu consigo comparar a função For com uma varíavel Boolean? Por que gostaria de inserir n checkbox e gostaria que ele corra as planilhas em TRUE.
    Por exemplo, igual aula 40:
    Checkbox 1, 2 e 3.
    Checkbox 1 e 3 = True
    Checkbox 2 = 2 False
    Estou tentando
    For a = 2 to Sheets.Count
    If Sheets(a) = Userform1.Checkbox(a) then 'Verifica se a planilha na checkbox é true ou false
    ....
    Else
    Neste caso eu gostaria que a função faça o comando nas planilhas 1 e 3 e não na 2.
    Teria como fazer isso?

  • @ivanbarretocavalcante3292
    @ivanbarretocavalcante3292 4 года назад

    Seus vídeos são muito bons e de fácil entendimento, mas eu não conseguir adaptar esta macro para o formulário, eu tenho uma pasta de trabalho com 20 planilhas e sempre estou procurando em qual planilha está cadastrado um determinado código, eu gostaria de fazer isso ao digitar na textbox ou inputbox e retornar numa label o nome da planilha que este código está cadastrado, se vc puder me ajudar te agradeço muito.

  • @EdywhayHallen
    @EdywhayHallen 6 лет назад

    Alô, sinta-se cumprimentado, Alessandro Trovato!
    Tudo na Boa?
    Muitos Parabéns . . . , pela explicações perceptiveis!
    Gostaria de saber como fazer um programa em VBA ou atraves de funções na planilha em que ele acha os valores duplicados e no fim ele indica o número de repetições de cada. Exemplo Carlos - 2; Manuel - 3.
    Sem mais assunto de momento, Grato pela atenção!

  • @annacarolinadelcura9838
    @annacarolinadelcura9838 8 лет назад +2

    Alessandro, muito boa a aula, só fiquei com uma dúvida.
    Dentro do comando for temos o seguinte código:
    Sheets(a).select
    Sheets(a).range("A2").select
    Eu não poderia colocar apenas range("A2").select no segundo comando? Já que no primeiro comando eu selecionei a planilha.
    Obrigada!!

    • @AlessandroTrovato
      @AlessandroTrovato  8 лет назад

      Olá Anna! Pode sim... O que faço pode ser resumido como vício de programação.
      Gosto de ter certeza absoluta que o cursor não vai sair da posição que eu preciso. Usando apenas Range o código vai procurar pela planilha ativa (que foi definida na linha anterior). Resumindo: Vai funcionar...
      Grato pela mensagem e bons estudos!

  • @TheGabrielgh3
    @TheGabrielgh3 3 года назад

    Alessandro parabéns pelo seu conteúdo, consegui fazer o seu código sem nenhum problema, porém estou com dificuldade de adaptar o código para a minha necessidade, pode me ajudar?
    Estou fazendo um sistema que armazena informações de qualidade de atendimentos aqui da empresa. A minha dificuldade está em consolidar essas informações. Preciso fazer um painel com os nomes dos funcionários e o valor das três monitorias de qualidade dentro do mês. Não estou encontrando uma forma de identificar o nome do funcionário e as notas na base de dados e colocar em uma outra planilha.

  • @parsondascunhapimentel7674
    @parsondascunhapimentel7674 7 лет назад

    Gostei de sua forma de ensinar. Fiz esta macro, porém se abrir e fechar o InputBox ou quando ela não encontra a linha a ser excluída vai apagando sucessivamente a partir da primeira linha da planilha. Gostaria de que você me orientasse. Antecipadamente agradeço.
    Sub Excluir_linha()
    '
    ' Excluir_linha Macro
    ' Exclui linha no banco segundo um critério em dois bancos de dados simultaneamente
    resp = InputBox("Informe o código a ser excluído")
    Sheets(Array("Bco Mov.", "Bco Provisões")).Select
    Sheets("Bco Mov.").Activate
    Cells.Find(What:=resp).Activate
    lin = ActiveCell.Row
    Rows(lin).Select
    Selection.Delete Shift:=xlUp
    Sheets("Ent. Dados").Select
    Range("B4").Select
    End Sub

  • @alexandrealfredoazevedo8646
    @alexandrealfredoazevedo8646 4 года назад

    Olá, Alessandro. excelente aula , estou adaptando para colorir as celulas duplicatas, Gostaria de saber se teria como disponibilizar a planilha

  • @gustavocarpanez3384
    @gustavocarpanez3384 3 года назад

    Boa noite. Fiz uma planilha de agenda médica e estou procurando alguma forma de não agendar consultas duplicadas, verificando o nome do paciente, o nome do médico e a data da consulta, pra que esse paciente não tenha duas consultas com o mesmo médico, no mesmo dia. Só consegui encontrar a verificação de um campo, mas nesse caso preciso verificar três campos. Tem alguma maneira de fazer isso? Obrigado.

  • @ycaroovoador7744
    @ycaroovoador7744 2 года назад

    👍👍👍 👍👍👍

  • @janiapaula4438
    @janiapaula4438 8 лет назад +1

    Ótimo vídeo, parabéns! Professor, por favor, esse código serve para procurar números concatenados? E se a procura for em planilhas de pastas diferentes, tem jeito?

    • @AlessandroTrovato
      @AlessandroTrovato  8 лет назад +1

      +Jânia Paula Olá ! O exemplo que montei para você faz isso... ele cria chaves únicas nas planilhas e faz a comparação...

    • @janiapaula4438
      @janiapaula4438 8 лет назад +1

      +Alessandro Trovato Sim! Estava tendo problemas para aplicar porque, como sabe, meus arquivos são grandes e o Excel não estava retornando corretamente. Mas, revi sua aula "Poc.V. Excel - identificando duplicidades na tabela" , diminui o arquivo, fiz uma simulação e agora parece que vai funcionar. Obrigada professor! Boa semana!!!

  • @marceloeidi1
    @marceloeidi1 7 лет назад +1

    Sensacional!!! Adeus CTRL + L rsrsrsrs

    • @AlessandroTrovato
      @AlessandroTrovato  7 лет назад

      Muito bom!!! Grato pela mensagem.!
      Se você ainda não é um inscrito(a), convido a se inscrever em meu canal de vídeos!
      Espero que os mais de 500 vídeos tutorias que possuo atualmente (só de Excel são mais de 250!) possam lhe ajudar.
      Bons estudos e sucesso!

  • @claudiopf1964
    @claudiopf1964 8 лет назад +7

    Como dito no início da aula, se houver espaço depois do nome, não será encontrado.
    Para evitar este problema, utilize a função Trim.
    Ex. If Trim(activecell.Value)="Aessandro" Then ....
    Isto ignora os espaços à direita.
    E para ficar melhor ainda, podemos utilizar uma combinação do Trim com o Ucase.
    Ex.: If Trim(Ucase(activecell.Value))="ALESSANDRO" Then ...

    • @AlessandroTrovato
      @AlessandroTrovato  8 лет назад

      Olá Claudio! isso mesmo! Grato pela sua mensagem! Falarei sobre esses conceitos em várias aulas da playlist de Macros e VBA, inclusive a aula 93 usa os dois métodos.
      Bons estudos!
      Acesso a playlist: sigaonerd.esy.es/index.html

  • @philippeamorim3352
    @philippeamorim3352 3 года назад

    Fiz usando For Each e com uma variável a menos, não sei se ficou mais fácil ou mais complicado kkkk
    Dim w As Worksheet
    Dim ultcel As Range
    Dim nome As String
    Set w = Sheets("Planilha1")
    w.Select
    w.Range("a2").Select
    Do While ActiveCell.Value ""

    ActiveCell.Offset(0, 1).Clear

    nome = ActiveCell.Value

    Set ultcel = ActiveCell
    For Each plan In Sheets
    If plan.Name "Planilha1" Then

    plan.Select
    plan.Range("a2").Select

    Do While ActiveCell.Value ""

    If ActiveCell.Value = nome Then

    If ultcel.Offset(0, 1).Value = "" Then

    ultcel.Offset(0, 1) = plan.Name
    Exit Do

    Else

    ultcel.Offset(0, 1).Value = ultcel.Offset(0, 1).Value & " / " & plan.Name


    End If

    End If

    ActiveCell.Offset(1, 0).Select
    Loop
    End If

    Next

    w.Select
    ActiveCell.Offset(1, 0).Select
    Loop
    w.Select
    w.Range("a2").Select

  • @franciscoguerreiro6612
    @franciscoguerreiro6612 8 лет назад +1

    planilha = sheets(a).name será que resultaria planilha = activesheet.Name ?? Daria o mesmo? Uma vez que a planilha no momento se encontra activa!!!

  • @joseestevao4587
    @joseestevao4587 4 года назад

    Prof Trovato. peço sua assistencia a minha planilha gera erro no codigo "planilha = Sheets(k).nome" do tipo Run -time error 438

  • @Marcelo.deLima
    @Marcelo.deLima 4 года назад

    #maisum - demais

  • @F4lipeC4rdoso
    @F4lipeC4rdoso 9 лет назад

    Olá Alessandro, gostaria de saber porque no comando "For" usamos a letra "a" ao invés da variável Vplan utilizada na última aula, eu poderia ter usado qualquer letra ou a letra "a" é a certa para esse tipo de relação?
    Obrigado pelas aulas!

    • @AlessandroTrovato
      @AlessandroTrovato  9 лет назад

      Olá Felipe Cardoso ... Utilizo o A para facilitar a escrita, variável curta. Você pode criar a variável que quiser... Quando uso o A estou usando um vício de programação adquirido em curso. Todo professor fala em ciclos de A até Z... já viu né!
      Obrigado pelos comentários e a participação nos cursos!

  • @alanderson21
    @alanderson21 7 лет назад

    Alessandro, como faço para colocar o nome das planilhas dentro de uma combobox?

  • @ricardobrazbezerrabrazbeze6291
    @ricardobrazbezerrabrazbeze6291 7 лет назад +1

    Gostaria de saber quais os códigos em VBA para não salvar nome em duplicidade usando a UserForm

    • @AlessandroTrovato
      @AlessandroTrovato  7 лет назад

      Olá Ricardo! Nas aulas futuras desse curso faço vários códigos em que checo antes de gravar para evitar duplicidades. Continue acompanhando os treinamentos!
      Se ainda não é um inscrito(a), convido você a se inscrever em meu canal de vídeos!
      Espero que os mais de 460 vídeos tutorias que possuo atualmente (só de Excel são mais de 200!) possam lhe ajudar.
      Bons estudos e sucesso!

  • @ferraz5858
    @ferraz5858 9 лет назад

    Olá Alessandro. Notei que o código não busca o nome se estiver maiúsculo na planilha e digitado em minúsculo no campo de procura e vice-versa. Como posso resolver esse problema?

    • @AlessandroTrovato
      @AlessandroTrovato  9 лет назад

      Olá emmanuel ferraz ! No curso de VBA vou falar ainda sobre as funções de texto mas você pode converter toda a string para comparação usando os comandos:
      UCASE: Converte a string para todos os caracteres em maiúsculo
      LCASE: Converte a string para todos os caracteres em minúsculo.
      Bons estudos!

  • @joseestevao4587
    @joseestevao4587 4 года назад

    assistido 2020

  • @ciceroleite66
    @ciceroleite66 6 лет назад +1

    Alessandro como que eu faço para gravar a célula que está duplicada em vez da planilha

    • @AlessandroTrovato
      @AlessandroTrovato  6 лет назад

      Olá Cicero! Há várias aulas futuras em que ensino técnicas de percorrer células e gravar valores em células. Continue com o curso que tenho certeza que sua dúvida será esclarecida!!!!
      Se você ainda não é um inscrito(a), convido a se inscrever em meu canal de vídeos!
      Espero que os mais de 595 vídeos tutorias que possuo atualmente (só de Excel são mais de 280!) possam lhe ajudar.
      Bons estudos e sucesso!

  • @rodrigocorreia426
    @rodrigocorreia426 9 лет назад +1

    Aula 29 Alessandro Trovato

  • @guga99023
    @guga99023 7 лет назад +1

    Por favor, alguém pode me ajudar?
    Com relação ao exercício eu consegui apagar o conteúdo das células que estavam preenchidas, porém não consegui pular a célula que estava vazia para continuar apagando as células que estavam preenchidas.
    Por exemplo: ao abrir o arquivo ele apaga o conteúdo das células b2 a b3, mas quando chega na b4 identifica que está vazia então ela não continua apagando as células b5 a b8, ou seja, permanecem com o conteúdo.
    Deem uma olhada no código:
    Private Sub Workbook_Open()
    Dim w As Worksheet
    Set w = Sheets("Plan1")
    w.Select
    w.Range("b2").Select
    Do While ActiveCell.Value ""

    ActiveCell.ClearContents
    ActiveCell.Offset(1, 0).Select


    Loop
    End Sub

    • @AlessandroTrovato
      @AlessandroTrovato  7 лет назад

      Olá Gustavo!
      Continue assistindo as aulas do treinamento pois em breve você verá técnicas de identificar qual é a última linha preenchida com dados e a partir dela fazer as rotinas de eliminação e limpeza de linhas.
      Grato pela mensagem e por acompanhar os trabalhos!
      Se ainda não é um inscrito(a), convido você a se inscrever em meu canal de vídeos!
      Espero que os mais de 450 vídeos tutorias que possuo atualmente (só de Excel são mais de 190!) possam lhe ajudar.
      Bons estudos e sucesso!

    • @guga99023
      @guga99023 7 лет назад

      Muito obrigado pela atenção e pelas aulas gratuitas, Alessandro Trovato!! Estou nesta aula 29 e já estou ganhando destaque onde trabalho, sou estagiário de um grande hospital em MG e trabalho com planilhas a maior parte do tempo. Tenho realizando o preenchimento e atualização de planilhas que agora tem sido cada vez mais eficientes e práticas. Abraços!