Crear un mensaje al recibir mensaje de error 1004

29/06/2005 - 23:26 por jose | Informe spam
Hola,
quiero crear un mensaje al recibir un mensaje de error o cambiar el texto
del mensaje de error, als dos cosas me sirven. El caso es que tengo unas
macros en unos botones que hay veces qeu no funcionan bien y me dá el error
1004, el mensaje dice asi:
Se ha producido el eror '1004' en tiempo de ejecucion:
erroe en el metodo PasteSpecial de la clase Range

eso es porque la macro lo que hace es pegar informacion en unas celas pero
el error viene porque no he copiado nada al portapapeles, lo que quiero es
que cada vez que me salga este error, automaticamente me sale otro mensaje
con las instrucciones que yo el ponga.
Fernando Arroyo me puso este codigo, pero con este codigo lo que me hace es
crear un mensaje que yo puda personalizar, ahora digo yo como hago para que
este mensaje me salga a la vez que el error? iagual es que tengo que poner
este codigo en algun otro sitio que no sea en un modulo?
El codigo es este:

Sub prueba()
On Error GoTo MiManejoDeErrores

Err.Raise 1004 'Simula el error 1004

Exit Sub

MiManejoDeErrores:
Select Case Err.Number
Case 1004
MsgBox "Se ha producido el error 1004"
'
'Instrucciones para cuando se produzca el error 1004
'

'
'Otros Case para otros códigos de error
'

Case Else 'Para un error no contemplado
MsgBox "Se ha producido el error " & Err.Number & " - " &
Err.Description & vbNewLine & "El código se detendrá."
Exit Sub
End Select
End Sub
 

Leer las respuestas

#1 KL
29/06/2005 - 23:53 | Informe spam
Hola jose,

Supongamos que tienes el siguiente codigo (por cierto no pones tu codigo que
da error):

Sub Test()
Selection.PasteSpecial xlPasteValues
End Sub

Si crees que el unico error que se puede producir (o el unico que quieres
manejar) es el 1004 podrias hacer lo siguiente:

Sub Test()
Dim msg As String
On Error Resume Next
Selection.PasteSpecial xlPasteValues
If Err.Number = 1004 Then
msg = msg & "El portapapeles esta vacio," & Chr(11)
msg = msg & "es decir, no hay datos que pegar." & Chr(11)
msg = msg & "Seleccione un rango y pulse Ctrl+C" & Chr(11)
msg = msg & "antes de pulsar este boton." & Chr(11)
MsgBox msg, vbOKOnly + vbExclamation, _
"Mensaje de parte de Jose"
Exit Sub
End If
'tu codigo sigue aqui
End Sub


Saludos,
KL


"jose" <carpinjose @ gmail.com> wrote in message
news:QlEwe.1734358$
Hola,
quiero crear un mensaje al recibir un mensaje de error o cambiar el texto
del mensaje de error, als dos cosas me sirven. El caso es que tengo unas
macros en unos botones que hay veces qeu no funcionan bien y me dá el
error 1004, el mensaje dice asi:
Se ha producido el eror '1004' en tiempo de ejecucion:
erroe en el metodo PasteSpecial de la clase Range

eso es porque la macro lo que hace es pegar informacion en unas celas pero
el error viene porque no he copiado nada al portapapeles, lo que quiero es
que cada vez que me salga este error, automaticamente me sale otro mensaje
con las instrucciones que yo el ponga.
Fernando Arroyo me puso este codigo, pero con este codigo lo que me hace
es crear un mensaje que yo puda personalizar, ahora digo yo como hago para
que este mensaje me salga a la vez que el error? iagual es que tengo que
poner este codigo en algun otro sitio que no sea en un modulo?
El codigo es este:

Sub prueba()
On Error GoTo MiManejoDeErrores

Err.Raise 1004 'Simula el error 1004

Exit Sub

MiManejoDeErrores:
Select Case Err.Number
Case 1004
MsgBox "Se ha producido el error 1004"
'
'Instrucciones para cuando se produzca el error 1004
'

'
'Otros Case para otros códigos de error
'

Case Else 'Para un error no contemplado
MsgBox "Se ha producido el error " & Err.Number & " - " &
Err.Description & vbNewLine & "El código se detendrá."
Exit Sub
End Select
End Sub



Preguntas similares