Si no existe hoja "nombre", crearla, en VBA

21/07/2004 - 19:58 por Tito | Informe spam
Saludos al entrar en el grupo. He mirado los mensajes y no veo este asunto,
por eso lo abro: quiero saber cómo detectar por programa VBA si en un libro
xls existe una hoja con un "nombre" determinado.
En caso contrario, crearla.

Preguntas similare

Leer las respuestas

#1 Leandro
21/07/2004 - 21:24 | Informe spam
Prueba colocando este codigo en un nuevo modulo.

Sub BuscaHoja()

Dim NombreHoja As String
Dim Hoja As Worksheet

NombreHoja = InputBox("Ingrese el Nombre de la Hoja a
Buscar", "Busqueda de Hoja")


For Each Hoja In Worksheets
If NombreHoja = Hoja.Name Then
MsgBox "La hoja ya existe"
Sheets(NombreHoja).Activate
Exit Sub
End If
Next

Sheets.Add
ActiveSheet.Name = NombreHoja

End Sub

Mostrar la cita
no veo este asunto,
Mostrar la cita
VBA si en un libro
Mostrar la cita
#2 Fernando Arroyo
21/07/2004 - 21:32 | Informe spam
"Tito" escribió en el mensaje news:
Mostrar la cita
Hay varias formas de hacerlo. Una de ellas, que tiene la ventaja de no tener que trabajar con For Each podría ser:

If IsError([NombreHoja!IV65536]) Then
Worksheets.Add
ActiveSheet.Name = "NombreHoja"
End If

El código fallaría si existiera una hoja llamada NombreHoja y su celda IV65536 tuviera un valor de error, pero ¡ya sería casualidad! :-))
Un saludo.


Fernando Arroyo
MS MVP - Excel
#3 Tito
21/07/2004 - 21:42 | Informe spam
Gracias, Leandro. Tu solución es más elegante que otra que me estaban
explicando mientras contestabas.
Intentábamos hacerlo con bucle While Do Loop con Sheets(i) hasta que
Sheets(i).Name coincide con el nombre buscado.
Ahora, una vez vista la solución, lo veo facil, pero a mí no se me ocurre...
¿falta de práctica?
#4 Leandro
21/07/2004 - 22:08 | Informe spam
Tambien se podría hacer de esa manera.
Igualmente se podría perfeccionar un poco más, debido a
que no distingue mayusculas y minusculas. Si ingresas
hoja1 te va a decir que no existe, pero en realidad existe
Hoja1, por lo que te va a generar un error al intentar
crear la hoja porque la hoja1 ya existe.
Sinceramente la idea de Fernando Arroyo no puedo
entenderla...
Como vos decis creo que todo es práctica pero tambien es
muy importante "saber donde encontrar la informacion"

saludos desde Buenos Aires, Argentina

Mostrar la cita
que me estaban
Mostrar la cita
(i) hasta que
Mostrar la cita
no se me ocurre...
Mostrar la cita
#5 desi
22/07/2004 - 10:21 | Informe spam
Mostrar la cita
existe
Mostrar la cita
la verdad es que yo tampoco la entiendo :D
pero funciona!!
fernando, podrias explicarnos tu codigo?? gracias!!


desi

Mostrar la cita

Mostrar la cita
Ads by Google
Search Busqueda sugerida