¿Cómo colocar un mnj de error?

Hola Boris, esperaba que me logres solucionar esta duda que tengo, veras tengo un botón en un userform que me crea hojas nuevas, pero por seguridad quisiera que cuando se intente crear una hoja con un nombre que ya existe aparezca un mensaje que diga que "esta hoja ya existe" en vez de mandarme a depurar al VBA
Te agradecería mucho

1 respuesta

Respuesta
1
Acá está la solución.
Sub Nuevahoja()
'si hay errores, que continúe
On Error Resume Next
'preguntamos cual es el expediente
hoja_de_calculo = Range("a1").Value 'este valor puede venir de un textbox, listbox, combobox, inputbox o una celda
'eliminamos los caracteres raros
hoja_de_calculo = Replace(hoja_de_calculo, ":", "")
hoja_de_calculo = Replace(hoja_de_calculo, "/", "")
hoja_de_calculo = Replace(hoja_de_calculo, "\", "")
hoja_de_calculo = Replace(hoja_de_calculo, "?", "")
hoja_de_calculo = Replace(hoja_de_calculo, "*", "")
hoja_de_calculo = Replace(hoja_de_calculo, "[", "")
hoja_de_calculo = Replace(hoja_de_calculo, "]", "")
'guardamos el valor de la hoja actual
hoja_actual = ActiveSheet.Name
'seleccionamos la hoja
Sheets(hoja_de_calculo).Select
'si no existe esa hoja, la creamos
If ActiveSheet.Name <> hoja_de_calculo And hoja_de_calculo <> "" Then
    Sheets.Add
    ActiveSheet.Name = hoja_de_calculo
Else
'si existe mandamos el mensaje de error
MsgBox "La hoja '" & hoja_de_calculo & "' ya existe", 0 + 48 + 0, "Libro de pruebas"
'Y volvemos a la hoja donde estabamos
Sheets(hoja_actual).Select
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas