出題内容
画像のように1行目に見出し、A列に№が入っています。
この表範囲の一部には計算式が入っています。
(画像の最下行とD列には数式が入っています。)
データ行数は毎回変化します。
見出し行とA列№と計算式は残し、定数値だけを消去してください。
自分の回答
Dim LastRow As Long
LastRow = Cells(Rows.Count,1).End(xlUP).Row -1
Range("B2:" & "C" & LastRow).ClearContents
ClearContentsでB2:C11を消去している。
解説
消去するのは計算式ではなく、定数値。
SpecialCells(xlCellTypeConstants)を使うことで、選択範囲中の定数値のみを対象にすることができる。
Dim rng As Range
Set rng = Range("A1").CurrentRegion.Offset(1, 1)
On Error Resume Next
rng.SpecialCells(xlCellTypeConstants).ClearContents
①Range("A1").CurrentRegionで選択範囲はA1:D12
②Offset(1,1)で№列と見出し行を範囲から外し、範囲はB2:D12となる。
③SpecialCells(xlCellTypeConstants)を使い、B2:D12内の定数値のみを消去することができる。