Error en inputbox

17/02/2005 - 08:22 por pepefras | Informe spam
Como debo hacer para cuando no se ponga nada vuelva a aparecer el imput
box, ó si se pulsa cancelar no ejecute la macro, ya que sino continua la
ejecución de la macro y es error fatal para mi. Estas son las lineas de
ejemplo:

'Pide al usuario q eliga el nombre para el libro.
MiNombre = InputBox("Nombre de la hoja", _
"PREVISIÓN VISITAS:Indicar Semana y sin espacio el número")

'Cambia el nombre de la hoja al q se ha eligido.
MiHoja.Name = MiNombre

Saludos y gracias
Pepe Frasquet
 

Leer las respuestas

#1 KL
17/02/2005 - 10:36 | Informe spam
Hola Pepe,

Podrias probar el codigo q sigue. Tanto el cancelar el inputbox como el no
poner nada y pulsar Aceptar devuelve el mismo resultado (vacio) por lo cual
he hecho q salte un mensaje diciendo "Se ha cancelado la operacion.".

Saludos,
KL

'Inicio Codigo-
Sub CambiarNombreHoja()
Dim carInvalidos As Variant
Dim Hoja As Worksheet
Dim i As Integer
Dim NombreUnico As Boolean
Dim NombreValido As Boolean
Dim MiNombre As String

'Establecemos la lista de caracteres invalidos.
carInvalidos = Array(":", "\", "/", "?", "*", "[", "]")

'Pedimos al usuario q eliga el nombre para la hoja.
MiNombre = InputBox("Nombre de la hoja", _
"PREVISIÓN VISITAS:Indicar Semana y sin espacio el número")

If MiNombre = "" Then
MsgBox "Se ha cancelado la operacion."
Exit Sub
End If

'comprobamos si ya existe el nombre q queremos usar.
NombreUnico = True
For Each Hoja In Worksheets
If Hoja.Name = MiNombre Then
MsgBox "Ya existe una hoja con el nombre: " _
& MiNombre
NombreUnico = False
Exit For
End If
Next Hoja

'comprobamos si el nombre contiene caracteres invalidos.
NombreValido = True
For i = 0 To UBound(carInvalidos)
If InStr(MiNombre, carInvalidos(i)) Then
MsgBox "El nombre " & MiNombre _
& " contiene caracteres invalidos (" _
& carInvalidos(i) & ")."
NombreValido = False
Exit For
End If
Next i

'Asignamos el nombre valido a la hoja.
If NombreUnico And NombreValido Then _
Worksheets("Hoja1").Name = MiNombre
End Sub
'Fin Codigo-


"pepefras" wrote in message
news:
Como debo hacer para cuando no se ponga nada vuelva a aparecer el imput
box, ó si se pulsa cancelar no ejecute la macro, ya que sino continua la
ejecución de la macro y es error fatal para mi. Estas son las lineas de
ejemplo:

'Pide al usuario q eliga el nombre para el libro.
MiNombre = InputBox("Nombre de la hoja", _
"PREVISIÓN VISITAS:Indicar Semana y sin espacio el número")

'Cambia el nombre de la hoja al q se ha eligido.
MiHoja.Name = MiNombre

Saludos y gracias
Pepe Frasquet

Preguntas similares