Página 1 de 1

excluir registros listbox comparando datas

Enviado: 16 Set 2018 às 22:54
por AlanBC
ola... td bem?!?!?! posso contar com a preciosa ajuda de vcs????
tenho um form com botao excluir que preciso adaptar uma condicao comparando datas e somar numero de dia para definir o criterio de exclusao: garantia de 90 dias dos produtos vendidos;
preciso excluir todos os produtos(registros) do listbox/planilha que ultrapassaram a data da venda + 90 dias, ou seja: textboxdtVenda (dt venda) + 90 > label_dtAtual (hoje) = exclur;
lembrando que a textbox_dtVenda tmb recebe valor vazio("") ate que ocorra o fato da venda do produto; a label_dtAtual ta no inicialize...
tentei fazer com loop(for, while...), mas nao consegui fazer rodar dejeito nenhum!
segue codigo atual:
Public geral As ListObject
Public registros As ListRow
Private Sub CommandButton_Excluir_Click()
If EnableEvents = False Then Exit Sub
Call desproteger
Set registros = geral.ListRows(Me.ListBoxTabGeral.ListIndex + 1)
If Me.TextBoxDtVenda = "" Then
MsgBox "Disponível. Venda não concretizada!", vbCritical, "Atenção!!!"
Me.ListBoxTabGeral.ListIndex = -1
Exit Sub
End If
Dim resp As Integer
resp = MsgBox("Confirma a exclusão: " & UCase(TextBoxVeiculo.Value) & "_" & UCase(TextBoxAno.Value) & "_" & UCase(TextBoxPlaca.Value),
vbYesNo, "Excluir!")
If resp = vbYes Then
registros.Delete
End If
If resp = vbNo Then
Exit Sub
End If
Me.ListBoxTabGeral.ListIndex = -1
Call limparCampos
Set geral = Plan1.ListObjects("TabGeral")
Call proteger
End Sub
conto com apoio! obrigado.

excluir registros listbox comparando datas

Enviado: 17 Set 2018 às 13:44
por ExcelFlex
Posta a planilha aí pra facilitar o trabalho...

excluir registros listbox comparando datas

Enviado: 17 Set 2018 às 16:44
por AlanBC
opa... boa tarde. anexada conf solicitado amigo.
senha: 123456
ja te agradecendo pela atencao.
obrigado.

excluir registros listbox comparando datas

Enviado: 17 Set 2018 às 20:09
por ExcelFlex
Acredito que este código pode te ajudar:
Comentei as linhas para ficar claro o que está fazendo o código

1. Cole este código no seu form
2. Crie um botão CommandButton1
Código: Selecionar todos
Private Sub CommandButton1_Click()
  Dim varLinha As ListRow
  
  For Each varLinha In geral.ListRows 'navega por todas as ListRow do seu ListObject
    Dim dataVenda As Date
    If varLinha.Range(1, 9) <> "" Then 'verifica se o campo é diferente de vazio
      dataVenda = CDate(varLinha.Range(1, 9))'se tiver uma data no campo, então converte para o tipo data
      If dataVenda < Now - 90 Then'verifica se a data é anterior a 90 dias

        'informa qual linha e qual veículo está sendo excluído
        MsgBox "Excluindo a linha " & varLinha.Range(1, 1).Row & ", Veículo: " & varLinha.Range(1, 3) & " Data: " & varLinha.Range(1, 9), vbInformation
        'exclui a linha
        varLinha.Delete

        'chama novamente o processo, pois como está sendo alterado o objeto ListRows, o For precisa ser reiniciado
        CommandButton1_Click
        Exit Sub
      End If
    End If
  Next varLinha
End Sub

excluir registros listbox comparando datas

Enviado: 17 Set 2018 às 22:27
por AlanBC
meu camarada... funcionou legal demais esse codigo!!! puxa vida... muito bom amigo.
era o que eu precisava... nao ia mesmo conseguir fazer.
muito obrigado mesmo! forte abraço...