Notifications
Clear all

Problemas ao Eliminar Apenas com o ID

7 Posts
3 Usuários
0 Reactions
1,417 Visualizações
(@ryujin)
Posts: 28
Eminent Member
Topic starter
 

Eu fiz o Seguinte Codigo para apagar tudo apenas digitando o valor ID , Mas depareime com um problema ! Ao tentar eliminar , se eu tentar apagar utilizadores e se tiver com outro Planilha aberto o Programa apaga na planilha que esta aberta !

Dim Ws1 As Worksheet

Range("A2").Select

Set Ws1 = Worksheets("Util_Reg")

For apagar = 1 To 500

If ActiveCell = TextBox1.Text Then
ActiveCell.EntireRow.Delete

End If
ActiveCell.Offset(1, 0).Activate
Next
Range("A2").Select

MsgBox "Eliminado Com Sucesso!"

TextBox1.Text = ""

O Codigo é esse ! Alguem me pode ajudar?

 
Postado : 23/03/2017 2:58 am
Syrax
(@syrax)
Posts: 160
Estimable Member
 

Eu fiz o Seguinte Codigo para apagar tudo apenas digitando o valor ID , Mas depareime com um problema ! Ao tentar eliminar , se eu tentar apagar utilizadores e se tiver com outro Planilha aberto o Programa apaga na planilha que esta aberta !

Quando você faz um Range("A2").select, ele faz o select na planilha ativa, se você quiser especificar em qual planilha você quer que ele faça o select, ou em qual workbook ele faça o select
você precisa especificar isso

workbooks("suaplanilha.xlsm").worksheets("Util_Reg").range("A2").select

Considerando que você tenha outras Pastas do Excel abertas, esse seria o código

também não entendi qual o objetivo de você ter feito set na Worksheets("Util_Reg"), sem ter que utilizar ele mais tarde

Se essa resposta te ajudou e resolveu o seu problema, clique no "joinha" ao lado de citar, e não esqueça de colocar o tópico como resolvido, clicando no ✓

 
Postado : 23/03/2017 5:43 am
(@ryujin)
Posts: 28
Eminent Member
Topic starter
 

Continua dando Erro , Tou mesmo aflito ... Ajudem :/

Private Sub CommandButton3_Click()
Dim Ws1 As Worksheet

Set Ws1 = Worksheets("Armazens")

Workbooks("Armazens.xlsm").Worksheets("Armazens").Range("A2").Select

For Apagar = 1 To 200

If ActiveCell = TextBox1.Text Then
ActiveCell.EntireRow.Delete

End If
ActiveCell.Offset(1, 0).Activate
Next
Workbooks("Armazens.xlsm").Worksheets("Armazens").Range("A2").Select

MsgBox "Eliminado Com Sucesso!"

TextBox1.Text = ""
End Sub

 
Postado : 23/03/2017 6:01 am
(@ryujin)
Posts: 28
Eminent Member
Topic starter
 

O erro que diz é o Seguinte .

NAO FOI POSSIVEL EXECUTAR O METODO SELECT DA CLASS RANGE

 
Postado : 23/03/2017 6:10 am
(@ryujin)
Posts: 28
Eminent Member
Topic starter
 
Dim Ws1 As Worksheet
Set Ws1 = Worksheets("Armazens")
Ws1.Select
Ws1.Range("A2").Select
For Apagar = 1 To 200

If ActiveCell = TextBox1.Text Then
ActiveCell.EntireRow.Delete

End If
ActiveCell.Offset(1, 0).Activate
Next
Worksheets("Armazens").Range("A2").Select

MsgBox "Eliminado Com Sucesso!"

TextBox1.Text = ""
 
Postado : 23/03/2017 6:31 am
pfarias
(@pfarias)
Posts: 265
Reputable Member
 

Continua dando Erro , Tou mesmo aflito ... Ajudem :/

Private Sub CommandButton3_Click()
Dim Ws1 As Worksheet

Set Ws1 = Worksheets("Armazens")

Workbooks("Armazens.xlsm").Worksheets("Armazens").Range("A2").Select

For Apagar = 1 To 200

If ActiveCell = TextBox1.Text Then
ActiveCell.EntireRow.Delete

End If
ActiveCell.Offset(1, 0).Activate
Next
Workbooks("Armazens.xlsm").Worksheets("Armazens").Range("A2").Select

MsgBox "Eliminado Com Sucesso!"

TextBox1.Text = ""
End Sub

O Erro está em ActiveCell. Tenta assim:


Private Sub CommandButton3_Click()

Dim Wbk As Workbook
Dim Ws1 As Worksheet

Set Wbk = Workbooks("Armazens.xlsm")
Set Ws1 = Wbk.Worksheets("Armazens")

Wbk.Activate
Ws1.Activate
Ws1.Range("A2").Select

For apagar = 1 To 200

If ActiveCell = TextBox1.Text Then
ActiveCell.EntireRow.Delete

End If
ActiveCell.Offset(1, 0).Activate
Next
Ws1.Range("A2").Select

MsgBox "Eliminado Com Sucesso!"

TextBox1.Text = ""
End Sub

Nesse caso aconcelho usar o code abaixo.

Private Sub CommandButton3_Click()

Dim Ws1 As Worksheet
Dim X As Long


Set Ws1 = Workbooks("Armazens.xlsm").Worksheets("Armazens")

X = 1
Do
    X = X + 1
    
    
    'If Ws1.Cells(X, 1) = TextBox1.Text Then
    If Ws1.Cells(X, 1) = 2 Then
        Ws1.Cells(X, 1).EntireRow.Delete
        X = X - 1
    End If
    
    If X = 200 Then Exit Do 'ele sai do LOOP
Loop

MsgBox "Eliminado Com Sucesso!"

TextBox1.Text = ""

End Sub

Pietro Farias

Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.

ANALISTA X

 
Postado : 23/03/2017 6:49 am
Syrax
(@syrax)
Posts: 160
Estimable Member
 

Continua dando Erro , Tou mesmo aflito ... Ajudem :/

Private Sub CommandButton3_Click()
Dim Ws1 As Worksheet

Set Ws1 = Worksheets("Armazens")

Workbooks("Armazens.xlsm").Worksheets("Armazens").Range("A2").Select

For Apagar = 1 To 200

If ActiveCell = TextBox1.Text Then
ActiveCell.EntireRow.Delete

End If
ActiveCell.Offset(1, 0).Activate
Next
Workbooks("Armazens.xlsm").Worksheets("Armazens").Range("A2").Select

MsgBox "Eliminado Com Sucesso!"

TextBox1.Text = ""
End Sub

Fiz o teste usando o script acima, e funcionou corretamente sem erro

Se essa resposta te ajudou e resolveu o seu problema, clique no "joinha" ao lado de citar, e não esqueça de colocar o tópico como resolvido, clicando no ✓

 
Postado : 23/03/2017 6:51 am