Excluir Linha de Planilha Excel com Duplo Clique em Listview VBA

Excluir Linha de Planilha Excel com Duplo Clique em Listview VBA Nesta aula Vamos trabalhar com códigos Excel VBA para excluir uma linha da planilha ao efetuar um duplo clique sobre uma linha de registro de uma listview beleza pessoal então vamos para o VBA guia desenvolvedor visual Basic duplo clique sobre a listview e nesta caixa de seleção lado direito vocês vão escolher o evento dblClick este evento anterior podem deletar e dentro do evento dblClick primeiro passo é colocar um sistema de tratamento de erro on error goto erro caso tudo ocorreu bem.

Excluir Linha de Planilha Excel com Duplo Clique em Listview VBA

Vai para erro dois pontos e exibe uma msgBox abre aspas duplas erro ponto de exclamação e fecha as aspas duplas vírgula VBCritical vírgula abre aspas duplas título da mensagem excluir e fecha as aspas duplas por enquanto deixem desativado o sistema de tratamento de erro prosseguindo precisamos definir as variáveis da nossa macro dim i as Doble do tipo número vírgula ID também as Doble dim resp de resposta as integer do tipo inteiro de as variante próximo passo é solicitar.

Uma confirmação para o usuário podem copiar a variável resp variável resp igual a uma msg Box abre e fecha parênteses e dentro dos parênteses abre e fecha aspas duplas e dentro das aspas duplas confirmar exclusão ponto de interrogação fora das aspas duplas vírgula tipo de mensagem VB yes no vírgula abre e fecha aspas duplas e dentro das aspas duplas o título da mensagem excluir fizemos a pergunta para o usuário agora precisamos analisar qual foi a resposta podem.

Copiar a variável resp if se a variável resp for igual a VB no then neste caso nós vamos sair da macro e end if no entanto se passou por este if eu preciso referenciar a listview no meu caso o nome da listview é Listview 1 copia o name da listviem volta no código With listview1 e para fechar o With end With e dentro deste With Primeiro passo é verificar se tem registros na listview if listview items se for menor igual a zero then neste caso nós vamos sair da macro Exit sub e end if no.

Entanto se passou por este if eu vou capturar o número da linha que o usuário efetuou o duplo clique então a variável I vai ser igual a ponto selected item ponto index já sei a linha já posso capturar o critério para excluir no meu caso o critério vai ser o ID variável ID vai ser igual a ponto list items abre e fecha parênteses e dentro dos parênteses vai a variável I detalhe pessoal desta forma é para capturar o critério se o critério estiver na primeira coluna da listview.

Coluna zero se for a partir da coluna dois precisa ser ponto list subitems abre e fecha parênteses para capturar o critério da coluna vocês vão colocar dentro dos parênteses coluna 1 porque a contagem das colunas na Listview inicia por zero fora dos parênteses ponto Text no meu caso eu vou utilizar a primeira opção porque o critério está na primeira coluna Beleza já temos a linha e também o critério Então já podemos deletar a linha da planilha para referenciar.

A guia da planilha eu vou trabalhar com with worksheets worksheets abre e fecha parênteses e dentro dos parênteses preciso referenciar o nome da guia da planilha no meu caso eu vou trabalhar com a guia dados mas para capturar o nome da Guia eu vou referenciar o nome interno do VBA da Guia que é este planilha um fora dos parênteses Então dentro dos parênteses eu vou colocar planilha 1 ponto name fora dos parênteses ponto Range abre e fecha parênteses.

E dentro dos parênteses abre e fecha aspas duplas e dentro das aspas duplas precisamos referenciar a coluna da guia da planilha com os critérios no meu caso vai ser a coluna B de volta no VBA dentro das aspas duplas B dois pontos b e para with nós vamos colocar end With e dentro deste With nós vamos trabalhar com a variável c podem copiar a variável c set c vai ser igual a ponto find abre e fecha parênteses e dentro dos parênteses precisamos informar.

O critério no meu caso variável ID vírgula na sequência nós vamos colocar looking dois pontos igual a XL XLValues vírgula lookat dois pontos igual a XLwhole para fazer uma pesquisa exata fizemos a pesquisa agora precisamos analisar Qual foi o retorno if not c is not se não é vazio e end if deixa eu dar uma ajustada Se entrou na primeira parte do IF significa que o registro foi encontrado neste caso eu vou excluir a linha lembrando no meu caso a guia.

Da planilha é a planilha um então planilha 1 ponto rows abre e fecha parênteses e dentro dos parênteses variável c ponto Row fora dos parênteses ponto delete agora nós precisamos deletar a linha também da listview então Listview 1 ponto list items ponto remove e o número da linha vai estar na variável i na primeira parte é se o registro foi encontrado Se entrou no else significa que o registro não foi encontrado neste caso eu vou alertar o usuário utilizando uma msg.

Box msg Box abre aspas duplas eu vou colocar não localizado ponto de exclamação e fecha as aspas duplas vírgula VB information vírgula abre aspas duplas título da mensagem excluir e fecha as aspas duplas beleza no entanto depois do end With nós precisamos fechar a variável c 7C igual nothing que é nada beleza galera feito a macro salva as alterações e vamos testar executando o formulário duplo Clique na linha confirmar exclusão Não cliquei por engano não fez nada duplo Clique.

Veja Também:

Postar um comentário

Postagem Anterior Próxima Postagem