............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Borrar en un rango todos los datos, pero no fórmulas 5 5 1

Borrar en un rango todos los datos, pero no fórmulas

Ver el tema anterior Ver el tema siguiente Ir abajo

Borrar en un rango todos los datos, pero no fórmulas

Mensaje por GalileoGali el Vie Feb 15, 2008 10:45 pm

Para Borrar en un rnago solo los datos pero no las fórmulas, selecciona el rango y haz correr esta Macro:

Código:
Sub BorraDatos()
Dim Celda As Range
Dim estado as integer

estado = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreeUpdating = False
Application.Enableevents = False



For Each Celda In Selection
If Not Celda.HasFormula Then Celda.ClearContents
Next Celda

Application.Calculation = estado
Application.Enableevents = True
End Sub

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos: 1962
Edad: 57
Ciudad - Pais: QUIROGA, Argentina
Version de Excel: 2000-2003-2007-2010
Fecha de inscripción: 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Borrar en un rango todos los datos, pero no fórmulas

Mensaje por hansabel el Vie Abr 04, 2008 12:01 am

Muy interesante Gali me servira para unas planillas interminables que tengo en las cuales tengo que actualizar solo los datos pero no borrar las formulas

hansabel

Masculino Cantidad de envíos: 2
Edad: 37
Fecha de inscripción: 23/03/2008

http://www.hansabel.tk

Volver arriba Ir abajo

Re: Borrar en un rango todos los datos, pero no fórmulas

Mensaje por damianomarsilva el Dom Abr 27, 2008 1:38 am

te dejo un ejemplo que hace lo mismo, pero utilizando mucho menos código y evitando el uso de bucles, que en el caso de rangos con gran cantidad de celdas, pueden demorar bastante tiempo.
utilizo el método SpecialCells del objeto Range.
supongamos que el rango para analizar es el siguiente: a1:a10. vos solamente querés borrar todas aquellas celdas que no contengan fórmulas:
Range("a1:a10").SpecialCells(xlCellTypeConstants).Select
Selection.ClearContents
o bien, mas corto aún:
Range("a1:a10").SpecialCells(xlCellTypeConstants).ClearContents

te aclaro que existen muchos y variados parámetros para ingresar en specialcells: celdas en blanco, con formulas, con comentarios, que posean el mismo formato, todas las visibles, etc, etc.
encontrarás una buena guía y explicación de ellas en la ayuda de vba.

damianomarsilva
Moderador
Moderador

Cantidad de envíos: 12
Fecha de inscripción: 12/03/2008

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.