Notifications
Clear all

Qual foi o erro?

5 Posts
3 Usuários
0 Reactions
1,129 Visualizações
(@tonilanis)
Posts: 32
Eminent Member
Topic starter
 

Tenho as macros abaixo com o intuito de apagar os registros, no entanto a intenção era que a ser pressionada a opção Ok o dados seriam apagado e se pressionado cancelar, a macro seja interrompida e portanto não apague os dados. O que faltou pra funcionar?

Sub Apaga_Registro_Recebimento()
'
' Apaga_Registro_Recebimento Macro
'
Dim resposta
resposta = MsgBox("Deseja realmente deletar tudo?", vbQuestion + vbOKCancel, "Confirmação")
If respota = vbCancel Then Exit Sub
'
Sheets("Registro de RECEBIMENTOS").Select
Range("A10:P5000").Select
Selection.ClearContents
Sheets("Menu").Select
Range("A1").Select
End Sub

Sub Apaga_Registro_Locações()
'
' Apaga_Registro_Recebimento Macro
'
Dim resposta
resposta = MsgBox("Deseja realmente deletar tudo?", vbQuestion + vbOKCancel, "Confirmação")
If respota = vbCancel Then Exit Sub
'
Sheets("Registro de RECEBIMENTOS").Select
Range("A10:i5000").Select
Selection.ClearContents
Sheets("Menu").Select
Range("A1").Select
End Sub

 
Postado : 05/10/2015 3:27 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Tem varios erros

A variavel resposta nao diz de que tipo é

o teste if esta faltando fecha-lo com um end if no final do codigo

Msgbox nao da pra usar como variavel. ate onde sei.

Vc colocou dois botoes na msgbox o vbquestion e o vbokcancel não tenho certeza mas acho que isso não é possivel.

E por ultimo faltou um else para executar o codigo caso o usuario confirme a execução.

O inicio do seu codigo deveria ficar assim: (nao testei)

Sub apaga dados()

Msgbox "Deseja Realmente Deletar Tudo?", vbokcancel, "Confirmação")

if vbcancel then exit sub

else

codigo que deleta os dados

end if

End sub

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 05/10/2015 4:35 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Toni, o único erro nas rotinas é a falta de uma letra, onde temos :
Dim resposta
resposta =.........................., mas na condição IF você colocou :
If respota = vbCancel Then Exit Sub
coloque o "s" e funcionará perfeitamente.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/10/2015 7:23 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Marcelo, só para esclarecer :

Tem varios erros - O único erro foi o erro na digitação, faltou o "s" em "respota"

A variavel resposta nao diz de que tipo é - Quando não declaramos o tipo, ele é Variant

o teste if esta faltando fecha-lo com um end if no final do codigo - Não precisamos fechar o IF qdo definimos a ação logo apos o Then "If respota = vbCancel Then Exit Sub"

Msgbox nao da pra usar como variavel. ate onde sei. A Variável aqui é a "resposta"

Vc colocou dois botoes na msgbox o vbquestion e o vbokcancel não tenho certeza mas acho que isso não é possivel. - vbquestion refere-se ao icone a ser exibido na mensagem que significa pergunta, se fosse informação usariamos vbInformation veja no link - VBA – EMITINDO MENSAGENS PERSONALIZADAS COM MSGBOX - http://www.tomasvasquez.com.br/blog/mic ... com-msgbox

E por ultimo faltou um else para executar o codigo caso o usuario confirme a execução. - Não precisamos do else uma vez que se a condição vboCancel for False a rotina continuará, caso contraio sai da rotina.
de
O inicio do seu codigo deveria ficar assim: (nao testei)

Sub apaga dados()

Msgbox "Deseja Realmente Deletar Tudo?", vbokcancel, "Confirmação")

if vbcancel then exit sub

else

codigo que deleta os dados

end if

End sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/10/2015 7:39 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Tem razão o Mauro não sabia que era possível usar uma msg box numa variável. Aprendi mais uma, obrigado pela orientação.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 05/10/2015 7:46 pm