Macro para crear hoja y borrar filas específicas

09/10/2006 - 22:56 por Isrrael | Informe spam
Buenas tardes a todos!
Tengo el siguiente codigo producto de una grabación de la herramienta Macro
de Excel:

Sub Creating_New_Sheet()
Sheets("Fecha ODA Oct (5)").Copy After:=Sheets(13)
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A2").Select
End Sub

Lo que hace es que copia la hoja activa hacia la derecha y borra todas las
filas desde 2:2 hasta el fin. Pero esta macro no funciona para cualquier
libro. Que debo de hacer para que funcione con todo libro, es decir, crear
una hoja nueva exactamente igual, a la activa, pero borrando todos los datos
desde 2:2. Le quise reemplazar con ActiveSheet. pero algo me falta...

Y la otra ayuda, qué codigo puede "ser selectivo", es decir, que "detecte"
en la columna D una palabra en específico, y entonces borre toda la fila con
esa palabra.

Gracias anticipadas,
Isrrael
 

Leer las respuestas

#1 David
09/10/2006 - 23:10 | Informe spam
Para tu primera consulta:

Cambia la primera línea de tu código. En su lugar, crea una variable string
para luego asignarle el nombre de la hoja activa. Luego insertas la nueva
hoja a la derecha de la misma:

Sub Creating_New_Sheet()

Dim Hoja As String
Hoja = ActiveSheet.Name
Sheets(Hoja).Copy After:=Sheets(Hoja)

Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A2").Select
End Sub




"Isrrael" escribió:

Buenas tardes a todos!
Tengo el siguiente codigo producto de una grabación de la herramienta Macro
de Excel:

Sub Creating_New_Sheet()
Sheets("Fecha ODA Oct (5)").Copy After:=Sheets(13)
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A2").Select
End Sub

Lo que hace es que copia la hoja activa hacia la derecha y borra todas las
filas desde 2:2 hasta el fin. Pero esta macro no funciona para cualquier
libro. Que debo de hacer para que funcione con todo libro, es decir, crear
una hoja nueva exactamente igual, a la activa, pero borrando todos los datos
desde 2:2. Le quise reemplazar con ActiveSheet. pero algo me falta...

Y la otra ayuda, qué codigo puede "ser selectivo", es decir, que "detecte"
en la columna D una palabra en específico, y entonces borre toda la fila con
esa palabra.

Gracias anticipadas,
Isrrael



Preguntas similares