以下のコードは、セルB3を削除し、削除によって生じた空白部分を埋めるために下側のセルを上に移動(シフト)するマクロです。
空欄に入る適切な定数を選択肢の中から正しいものを1つ解答しなさい。
Sub Exam1()
Range("B3").Delete Shift:=【 空欄① 】
End Sub
1.xlToLeft
2.xlShiftToLeft
3.xlDown
4.xlUp
正解
4
解説
【6章 セルの操作】
Deleteメソッド】
●Deleteはセル内ではなくセル自体を削除するメソッドです。
削除した後、周辺のセルをどちらの方向に移動するかをきめるShift:= に定数の指定もできます。
xlUp あるいはxlShiftUpを指定すると、削除後セルは上に移動する。
●引数を指定しないで削除したときの移動する方向は、範囲が縦に長い場合は左方向へ、それ以外の場合は上方向へ移動します。
構文
セル. Delete (Shift:= 方向の定数)
「Shift:=」は引数が一つしかないので省略することが可能です。
セル. Delete 方向の定数

定数
例
Range("C3").Delete Shift:=定数
xlToLeft あるいはxlShiftToLeft…削除後セルは左に移動する。

xlUp あるいはxlShiftUp…削除後セルは上に移動する。

【コード解説】
以下のコードは、セルB3を削除し、削除によって生じた空白部分を埋めるために下側のセルを上に移動(シフト)するマクロです。
空欄に入る適切な定数を選択肢の中から正しいものを1つ解答しなさい。
Sub Exam1()
Range("B3").Delete Shift:= xlUp
' DeleteメソッドでセルB3を削除し、その後下側のセルを上にシフトする。
End Sub
1.xlToLeft
誤り。
xlToLeft または xlShiftToLeft は、セルを削除した際に、削除範囲の右隣にあるセルを左方向に詰めたい場合に指定する定数です。
2.xlShiftToLeft
誤り。
xlShiftToLeft も、セルを削除した際に、削除範囲の右隣にあるセルを左方向に詰めたい場合に指定する定数です。
3.xlDown:
誤り。
xlDown は Delete メソッドの Shift 引数として直接指定する定数ではありません。
通常、挿入時にセルを下にシフトさせる場合などに似たような概念(xlShiftDown)がありますが、削除のシフト方向を示すものではありません。
4.xlUp
正しい。
xlUp または xlShiftUp は、セルを削除した際に、削除範囲の下側にあるセルを上方向に詰めたい場合に指定する定数です。