Excel VBA ベーシック 模擬問題 模擬試験

Excel VBA ベーシック 模擬問題 ランダム順出題 ② 第14問

以下のコードは、セル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 方向の定数

VBAベーシック セルの操作

定数

Range("C3").Delete Shift:=定数

xlToLeft あるいはxlShiftToLeft…削除後セルは左に移動する。

VBAベーシック セルの操作

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

VBAベーシック セルの操作

 

【コード解説】

以下のコードは、セル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 は、セルを削除した際に、削除範囲の下側にあるセルを上方向に詰めたい場合に指定する定数です。