2010-12-13 16 views
7

En Excel VBA, ¿hay alguna forma de usar de manera segura Range("A1:B2").ClearContent sin eliminar las fórmulas existentes en las celdas?Excel: ClearContent preservar fórmulas

Simplemente para aclarar mi situación: estoy extrayendo datos recientes de la base de datos y solo quiero borrar todo en la hoja, pero no las fórmulas, porque eso resolverá algunos datos en otros campos con vlookups.

+0

Entonces, ¿qué intentas borrar? – SLaks

+0

Solo los valores de las celdas: números, fechas y texto – Lorenzo

+0

Las fórmulas _crean_ los valores. – SLaks

Respuesta

10

Utilice la propiedad SpecialCells para obtener solo los valores constantes.

Sub RemoveConstants() 

    Dim rConstants As Range 

    Set rConstants = Sheet1.Range("A1:B2").SpecialCells(xlCellTypeConstants) 
    rConstants.ClearContents 

End Sub 
+2

Tenga en cuenta que si ninguna celda en el rango realmente tiene valores, Excel arroja un error "No se encontraron células" en respuesta a Establecer rConstant = Hoja1.Rango ("A1: B2"). SpecialCells (xlCellTypeConstants) – Murrah

+2

Agregue un 'En reanudación de error siguiente' al comienzo del sub para evitar el error" No se encontraron células ". –

Cuestiones relacionadas