reemplazar hoja

05/06/2006 - 16:16 por MARCO6325 | Informe spam
Buenas, quiero una macro que me reemplaze una hoja si ya existe una con
el mismo nombre, me imagino que es con el if, pero no se de códigos,
porfa ayuda¡¡
 

Leer las respuestas

#1 Vinchenzo vinç
05/06/2006 - 18:14 | Informe spam
"MARCO6325" escribió en el mensaje news:
Buenas, quiero una macro que me reemplaze una hoja si ya existe una con
el mismo nombre, me imagino que es con el if, pero no se de códigos,



Hola, te paso una función genérica:

'***************
Function AñadirHoja(ByVal strNombre As String) As Worksheet
On Error Resume Next
'Intentas eliminar la hoja
Application.DisplayAlerts = False
Sheets(strNombre).Delete
Application.DisplayAlerts = True
If Err.Number <> 0 Then Err.Clear
On Error GoTo 0
'Devuelves la referencia de la hoja insertada:
Set AñadirHoja = Sheets.Add(After:=Sheets(Sheets.Count))
AñadirHoja.Name = strNombre
End Function

'***************
With AñadirHoja("Hoja4")
'Acceso a las propiedades y métodos de la hoja insertada
End With

'***************

Si no vas a necesitar acceder a propiedades y métodos del objeto después de insertarla, convierte la función en un procedimiento
(cambias 'Function' por 'Sub', y eliminas el tipo de retorno y la asignación), simplemente, eliminas la hoja en caso de existir, y
añades la nueva:

...
Sheets.Add(After:=Sheets(Sheets.Count)).Name = strNombre


Saludos
( ! ) Respuestas precedentes en Google:
http://tinyurl.com/rkce5
( i ) Temperancia en el foro:
http://tinyurl.com/mawnn

Preguntas similares