Pequeña ayuda con un par de macros

12/05/2005 - 11:18 por Mukelemulembe | Informe spam
Hola a todos!

Tengo un par de macros que les faltan un par de chorraditas pero no sé
cómo se hacen.

En esta primera macro formateo los bordes del área seleccionada con un
formato personalizado pero si dicha área no tiene más de una fila y una
columna me sale un mensaje de error. ¿Qué tengo que variar para que no
aparezca?

Sub Bordes()
'
' Bordes Macro
' Macro grabada el 10/05/2005 por usuario
'
' Acceso directo: CTRL+a
'
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
End Sub

Esta segunda macro sirve para eliminar las columnas que tengan valor cero
de la celda seleccionada de un autofiltro. La cuestión es que cada vez que
la utilizo el control+Fin se me queda donde estaba antes de eliminar las
filas. ¿Qué tengo que cambiar para que el Crtl+Fin se quede donde acaba la
hoja?

Sub LimpiarFilasCero()
'
' LimpiarFilasCero Macro
' Macro grabada el 10/05/2005 por usuario

' Acceso directo: CTRL+l
'
Selection.AutoFilter Field:=2, Criteria1:="0"
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Delete
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(2, 0).Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.EntireRow.Delete
Selection.AutoFilter Field:=2
ActiveCell.SpecialCells(xlLastCell).Select
End Sub

Gracias de antemano y un saludo,

Joel.
 

Preguntas similares