Excel - eliminar hoja o crear otra con otro nombre distint

 
Vista:

eliminar hoja o crear otra con otro nombre distint

Publicado por rbate (18 intervenciones) el 17/02/2007 18:12:03
Hola a todos!

Tengo una macro que consigue crear un grafico a partir de los valores de unas celdas. El grafico final se inserta en una nueva hoja a la que llamo XXX.

El problema viene cuando se intenta volver a ejecutar la macro sin haber eliminado la hoja XXX que contiene el grafico anterior, ya que la macro intenta crear una nueva hoja con un nombre (XXX) que ya existe. Sale el mensaje de error en la programación y aunque puedes continuar y al final se crea la hoja "Grafico2" con el grafico en cuestión, no resulta muy estético que salte ese error.

Por lo tanto, mi pregunta es: ¿Es mejor añadir un parte final a la macro (si es posible) que elimine la hoja del grafico creado una vez que el usuario selecciona otra hoja? o ¿modifico la macro para que me cree el grafico en hojas llamadas XXX1, XXX2, ....... a pesar de que el libro enseguida alcanzaría varios megas de tamaño y será dificil manejarlo?

Gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:eliminar hoja o crear otra con otro nombre dist

Publicado por José Luis (700 intervenciones) el 17/02/2007 21:17:55
¿Por qué no detectas si existe la hoja XXX e impides que se genere el nuevo gráfico?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminar hoja o crear otra con otro nombre dist

Publicado por rbate (7 intervenciones) el 17/02/2007 23:00:57
Gracias por la idea, lo haré con un if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminar hoja o crear otra con otro nombre dist

Publicado por rbate (7 intervenciones) el 17/02/2007 23:38:22
Me he vuelto a quedar parado

Sub existehojaono()

Dim NombreHoja As String
Dim NHojas As Long
Dim i As Long

NHojas = Sheets.Count
NombreHoja = "BBIVPROD"
For i = 1 To NHojas
If Sheets(i).Name = NombreHoja Then
Sheets("BBIVPROD").Select
End If

Exit For

Next i

Range("A2:B10").Select

End Sub

¿Como se para el resto de ejecucion de la macro si ha encontrado que la hoja BBIVPROD ya existe?. Es decir, si no existe la hoja, selecciona el rango A2:B10, pero si ya existe la hoja, selecciona la hoja.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminar hoja o crear otra con otro nombre dist

Publicado por José Luis (700 intervenciones) el 20/02/2007 08:52:35
Al igual que existe el Exit For, también existen
Exit Do,Exit Function, Exit Property, Exit Sub
Mira en la ayuda de Visual Basic.

en tu caso el Exit For está mal usado porque lo haces sin que haya un control (está puesto después del End IF) lo ideal es que pongas un Exit Sub dentro del control de búsqueda de la hoja ....

Sub existehojaono()

Dim NombreHoja As String
Dim NHojas As Long
Dim i As Long

NHojas = Sheets.Count
NombreHoja = "BBIVPROD"
For i = 1 To NHojas
If Sheets(i).Name = NombreHoja Then
Sheets("BBIVPROD").Select
Exit Sub
End If
Next i

Range("A2:B10").Select

End Sub

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminar hoja o crear otra con otro nombre dist

Publicado por gatorade (1 intervención) el 30/01/2008 05:58:19
bajate mi coleccion de manuales y ejemplos de macros

http://rapidshare.com/users/5YHVHK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar