Vídeo recomendado
https://youtu.be/diWPPPhW-9E

[Resolvido] Eliminar linha com os valores selecionados nas combobox

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

[Resolvido] Eliminar linha com os valores selecionados nas combobox

Mensagem por Bruno 33 »

Boa tarde,

Desde já agradeço quem me puder ajudar!

tenho 3 combobox encadeadas numa form e queria que ao selecionar os dados de cada combobox fosse selecionando a linha com aqueles valores para eliminar.

EX:
Sem Título.png
Sem Título.png (68.87 KiB) Exibido 4838 vezes
Editado pela última vez por Bruno 33 em Qua Mai 31, 2017 2:05 pm, em um total de 4 vezes.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Eliminar linha com os valores selecionados nas combobox

Mensagem por srobles »

Bruno 33,

Seu formulário já possui as condições que buscam estes valores na planilha?

Caso positivo, basta apenas você selecionar a linha onde as condições são verdadeiras e usar a instrução ActiveCell.EntireRow.Delete. Isso se você quiser deletar a linha inteira.

Abs


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: Eliminar linha com os valores selecionados nas combobox

Mensagem por Bruno 33 »

Sim, as combobox já carregam a informação correta, com os dados da planilha. Eu até agora já tenho este código:

Private Sub RemoverRegisto_Click()

Range("E3").Select

While ActiveCell <> ""

If CB_TipoFralda.Text = ActiveCell Then
Resposta = MsgBox("Registo encontrado, deseja excluir?", vbYesNo)

End If

If Resposta = vbYes Then
ActiveCell.EntireRow.Delete

Exit Sub

End If

ActiveCell.Offset(1, 0).Activate

Wend

Exit Sub

End Sub

mas só selecciona a célula da informação colocada na primeira combobox, mas queria que seleccionasse a linha de acordo com o valor da combobox 1 (que se chama CB_TipoFralda) e da 3 combobox que é a data, para seleccionar logo a linha correta para eliminar.


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: Eliminar linha com os valores selecionados nas combobox

Mensagem por Bruno 33 »

srobles, obrigado pela dica, já consegui resolver.

Se precisarem da solução é só pedir.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Eliminar linha com os valores selecionados nas combobox Resolvido

Mensagem por srobles »

Bruno 33,

Que bom que solucionou o problema amigo.

Favor, se possível, poste sua solução ao problema. Assim ajudamos outros usuários que venham enfrentando o mesmo problema.

Abs


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: Eliminar linha com os valores selecionados nas combobox

Mensagem por Bruno 33 »

Afinal ainda estou aqui com um problema, passo a mostrar com fotos:

Da 3 até à linha 5 funciona correctamente, com os valores colocados na 1º combobox e a 3 combobox ele selecciona logo a linha correta, como mostro no exemplo:
Linha 3: Data é da coluna B
Sem Título1.png
Sem Título1.png (44.13 KiB) Exibido 4863 vezes
Linha 4: Data é da coluna B
Sem Título2.png
Sem Título2.png (37.56 KiB) Exibido 4863 vezes
Linha 5: Data é da coluna B
Sem Título3.png
Sem Título3.png (35.03 KiB) Exibido 4863 vezes
Mas agora depois desta linha selecciona sempre a linha assinalada vermelho e não a linha com os valores da comboboxs, como mostro na imagem nem aparece a caixa de texto para eliminar a linha:
Sem Título4.png
Sem Título4.png (36.63 KiB) Exibido 4863 vezes
Este é o código que estou a utilizar:

Private Sub RemoverRegisto_Click()

Dim data As Date
Dim UltimaLinha As Long
Dim LinhaExcluir As Integer
Dim Resposta As Variant

data = ComboBox1.Value

contador = 2

Range("C2").Select

UltimaLinha = Range("C65536").End(xlUp).Row
For contador = 2 To UltimaLinha
If ActiveCell.Text = CB_TipoFralda.Text And ActiveCell.Offset(0, -1).Text = data Then
Resposta = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Atenção!!")

If Resposta = vbYes Then
LinhaExcluir = ActiveCell.Row
Rows(LinhaExcluir).Select
Selection.Delete Shift:=xlUp

Exit Sub

End If
End If

ActiveCell.Offset(1, 0).Select

Next

End Sub

Alguém pode ajudar urgentemente? Obrigado


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: [Resolvido] Eliminar linha com os valores selecionados nas combobox

Mensagem por Bruno 33 »

Boa tarde,

Já resolvi o problema. O motivo do problema era a data, como no Excel tenho a data DD-MM-AAAA, sempre que o dia era menor que 12 entrava em conflito porque estava a mostrar a data da seguinte forma na combobox: MM-DD-AAAA.

Então foi só converter a data para MM-DD-AAAA.

Obrigado, qualquer dúvida sobre este tópico é só colocarem a mesma.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: [Resolvido] Eliminar linha com os valores selecionados nas combobox

Mensagem por srobles »

Bruno 33,

Estava para te dizer exatamente isso com relação á data. Datas sempre são um "problema" quando manipulamos a mesma pelo VBA.

Que bom que encontrou e melhor, solucionou a questão.

Abs e vamos em frente.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder