Notifications
Clear all

Regra de exclusão EntireRow.Delete com limite de colunas?

4 Posts
3 Usuários
0 Reactions
600 Visualizações
(@loyerz)
Posts: 0
New Member
Topic starter
 

Olá fórum sou leigo no vba excel e eu trabalho no ramo dos bordados, e para administrar a produção do mesmo preciso usar o excel, porem estou quebrando a cabeça com um código lazarento, na aba estoque tenho um formulario onde tem um botão de excluir registro de produto, o que eu quero que ele faça é, procurar o produto selecionado ir ao banco de dado que fica na guia BD e exclua exatamente aquelas linha onde o registro se encontra, até ai eu consegui fazer, os registro ocupa as colunas A:G e quando excluo ele exclui a linha inteira, como fazer que ele apague somente as linhas da coluna A:G vou anexar ela pra vocês verem. por favor me ajudem.

esse é o código do botão excluir!

Private Sub bt_excluir_estoque_Click()
Dim certeza As Integer

Set w = Sheets("BD").Columns("A:G").Find(Range("D5").Value, lookat:=xlWhole)

If (Range("Estoque!D5")) = "" Then
MsgBox "Selecione um produto", vbExclamation, "Estoque"
Range("D5").Select
Exit Sub
End If

If (Range("Estoque!D7")) = "" Then
MsgBox "Produto não informado", vbExclamation, "Estoque"
Range("D7").Select
Exit Sub
End If

certeza = MsgBox("Realmente deseja excluir o produto? " + CStr(w.Offset(0, 1)), vbYesNo + vbQuestion, "Estoque")

If certeza = vbYes Then

w.EntireRow.Delete

End If

If certeza = vbYes Then

Range("I16:I18").Select
Selection.ClearContents
Range("I11:I13").Select
Selection.ClearContents
Range("D5:F5").Select
Selection.ClearContents
Range("D7:I7").Select
Selection.ClearContents
Range("D9:F9").Select
Selection.ClearContents
Range("D11:F11").Select
Selection.ClearContents
Range("D13:E13").Select
Selection.ClearContents
Range("D5:F5").Select
MsgBox "Produto excluido com sucesso!", vbInformation, "Estoque"
End If

End Sub

 
Postado : 21/10/2015 7:10 pm
(@mprudencio)
Posts: 0
New Member
 

Uma das soluções seria cadastrar os clientes em umanova aba... muito mais seguro

 
Postado : 22/10/2015 4:41 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Substitua a linha

w.EntireRow.Delete

Por

Sheets("BD").Range("A" & w.Row & ":G" & w.Row).Select
Selection.Delete Shift:=xlUp

Mas como disse o colega Marcelo, para evitar problemas, o ideal seria desmembrar as tabelas

 
Postado : 22/10/2015 10:57 am
(@loyerz)
Posts: 0
New Member
Topic starter
 

Obrigado pela atenção, e pelas ideias vou separar as guias do Banco de Dados agradeço.

 
Postado : 22/10/2015 12:10 pm