Excluir Linha de Planilha Excel com Duplo Clique em Listbox Excel VBA

Excluir Linha de Planilha Excel com Duplo Clique em Listbox Excel VBA Duplo clique sobre a listbox e nesta caixa de seleção do lado direito vocês vão escolher o evento dblcliq este evento clique podem deletar e dentro do evento dblcliq Primeiro passo é colocar um sistema de tratamento de erro on error go to erro caso tudo ocorreu bem Exit sub Caso contrário vai para erro dois pontos e exibe uma msgBox abre aspas duplas erro ponto de exclamação e fecha as aspas duplas vírgula VB Critical vírgula abre aspas duplas título da mensagem.

Excluir Linha de Planilha Excel com Duplo Clique em Listbox Excel VBA

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 Double do tipo número dim resp as integer do tipo inteiro dim ID as string do tipo texto dim C as variantes variante aceita qualquer tipo de dado prosseguindo precisamos capturar o número da linha que o usuário efetuou o duplo clique podem copiar a variável i e a variável i vai ser igual e agora eu preciso.

Informar o nome da listbox no meu caso o nome da listbox é listbox 1 copia o nome da listbox volta no código depois do sinal de igual listbox1 ponto list index capturei o número da linha Agora eu preciso verificar se usuário clicou sobre a linha de cabeçalho porque o cabeçalho eu não quero excluir if se a variável i igual a 0 then neste caso eu vou sair da macro Exit sub e end if próximo passo é confirmar se de fato o usuário deseja excluir a linha podem copiar a.

Variável resp e a variável resp vai ser igual a uma msgBox abre e fecha parênteses e dentro dos parênteses abre e fecha aspas duplas e dentro das aspas duplas eu vou perguntar confirmar exclusão ponto de interrogação fora das aspas duplas vírgula e o tipo da mensagem precisa ser VByesno vírgula abre e fecha aspas duplas e dentro das aspas duplas vai o título da mensagem eu vou colocar excluir fizemos a pergunta agora precisamos analisar Qual foi a resposta if se.

A variável resp igual a VBno then neste caso o usuário não quer excluir então Exit sub para sair da macro e end if no entanto se passou por este if eu posso capturar o critério para excluir a linha o meu caso o critério vai ser o id e a variável ID vai ser igual a minha listbox 1 ponto list e abre e fecha parênteses e dentro dos parênteses vai a variável i vírgula qual coluna da listbox que eu tenho os ids então vamos verificar no meu caso é a primeira coluna coluna zero da listbox.

Entendido este detalhe de volta no código dentro dos parênteses coluna zero capturei o critério já posso pesquisar pelo critério na planilha então eu vou referenciar a planilha utilizando um with no meu caso pessoal eu vou trabalhar com a guia dados e o critério está na coluna B no entanto eu vou referenciar o nome interno do VBA da Guia que é este planilha um fora dos parênteses então depois do with planilha1 ponto range abre e fecha parênteses e dentro dos parênteses abre.

E fecha aspas duplas no meu caso o critério vai estar na coluna B então B dois pontos b e para fechar o with precisamos colocar end with e dentro deste with nós vamos setar a variável c podem copiar a variável c set C vai ser igual a ponto find e abre e fecha parênteses e dentro dos parênteses vai o critério para a pesquisa no meu caso a pesquisa vai ser pelo id vírgula na sequência dois ponto igual XLValues vírgula lookat dois pontos igual a xlwhole porque eu quero uma.

Pesquisa exata fizemos a pesquisa próximo passo é analisar Qual foi o retorno if if not not ou seja se a variável c não é vazia significa que foi encontrado a linha de registro then neste caso também vou ter um else e end if Se entrou nesta primeira parte do IF eu vou excluir a linha da planilha Excel no meu caso o nome da Guia é planilha1 planilha1 ponto rows abre e fecha parênteses e dentro dos parênteses variável c ponto row para capturar o número da linha fora dos.

Parênteses ponto delete para excluir a linha da planilha exclui a linha da planilha agora eu quero excluir a linha da listbox então listbox1 ponto remove item Qual o item que eu vou remover eu já tenho na variável i Então abre e fecha parênteses e dentro dos parênteses variável i próximo passo é informar o usuário que foi excluído com sucesso então msgbox abre e fecha aspas duplas e dentro das aspas duplas excluído com sucesso ponto de exclamação fora das aspas duplas vírgula.

Tipo de mensagem VBinformation vírgula abre aspas duplas título da mensagem excluir e fecha as aspas duplas podem Copiar esta mensagem e nós vamos colocar uma msgBox também no else Se entrou no else significa que não foi localizado deixa eu dar uma ajustada no código beleza e depois do end with nós precisamos fechar a variável c podem Copiar esta parte set C igual a nothing que é nada feito o código pessoal para excluir a linha da planilha e também da listBox salva as alterações.

Veja Também:

Postar um comentário

Post a Comment (0)

Postagem Anterior Próxima Postagem