通常A10からA20の範囲を消去するには
Range("A10:A20").ClearContents
を使うと思います。
Range(Range("A10"), Range("A20")).ClearContents
このような書き方は私はしません。
お題が,「Excelの別シートの指定セルの値を削除したい」なので複数のシートを使っていると思います。例えばsheet1,sheet2を使っているとします。
VBAのエディタを開いて,表示メニューからオブジェクトブラウザを選ぶと,左側のペインにSheet1,Sheet2,ThisWorkbookのアイコンが見えると思います。どれか1つをダブルクリックするとVBAのエディタが開きます。それぞれExcelのSheet1用,Sheet2用,Workbook全体用のプログラムコードを書く場所になっています。
もし,ExcelnのSheet1を開いていて,Sheet2用のプログラムコードを実行させると,(例えばRange("A10:A20").ClearContents
)エラーになってしまします。(おそらく質問者さんはこのような状況かと想像します。違っていたらごめんなさい。)
ExcelのSheet1のセルを操作するVBAのプログラムコードはSheet1用のものでなければなりません。
ExcelnのSheet1を開いておいて,Sheet1用のプログラムで
Range("A10:A20").ClearContents
を実行すると,ExcelのSheet1のA10からA20の範囲が消去されます。
お題にあるように,Sheet1用のプログラムからSheet2のA10からA20の範囲を消すには
Worksheets("sheet2").Range("A10:A20").ClearContents
のようにします。
Workbook全体用のプログラムではどのSheetへの作業かをActivateで知らせてからセルへの作業をします。こうすることによって複数のSheetのセルに対して自由に操作できるようになります。Excel側ではどのSheetを開いていてもOKです。
例
VBA
1Worksheets("sheet1").Activate
2Range("A10:A20").ClearContents
3Range("B10:B20").ClearContents
4Worksheets("sheet2").Activate
5Range("C10:C20").ClearContents
6Range("D10:D20").ClearContents
質問にうまくかみ合えばよいのですが。