Dans Excel VBA est-il un moyen d'utiliser en toute sécurité Range("A1:B2").ClearContent
sans supprimer les formules existantes dans les cellules? Simplement pour rendre mon scénario plus clair: je tire de nouvelles données de la base de données et je veux juste effacer tout sur la feuille mais pas sur les formules car celles-ci résoudront des données dans d'autres champs avec des vlookups.Excel: ClearContent préservant les formules
Répondre
Utilisez la propriété SpecialCells pour obtenir uniquement les valeurs constantes.
Sub RemoveConstants()
Dim rConstants As Range
Set rConstants = Sheet1.Range("A1:B2").SpecialCells(xlCellTypeConstants)
rConstants.ClearContents
End Sub
Notez que si aucune cellule de la plage n'a réellement des valeurs, Excel renvoie une erreur "Aucune cellule trouvée" en réponse à Définissez rConstants = Sheet1.Range ("A1: B2"). SpecialCells (xlCellTypeConstants) – Murrah
Ajoutez un 'On Error Resume Next' au début du sous-marin pour éviter l'erreur" Aucune cellule trouvée ". –
Alors qu'est-ce que vous essayez d'effacer? – SLaks
Juste les valeurs des cellules: nombres, dates et texte – Lorenzo
Les formules _créent les valeurs. – SLaks