![名称未設](https://assets.st-note.com/production/uploads/images/9088295/rectangle_large_type_2_83888a049792f907978d46438ba69144.jpeg?width=1200)
【ExcelVBA公開模試】セルを表す変数か、値を表す変数か
文法を無視して、とりあえず動けばいいという邪道ExcelVBA講座こと「速読VBA単語」に準拠した問題を出題します。
問題
セルB1の値が10、セルB2の値が20になっている状態で、次のコードを実行しようとしている。
Sub moshi()
Dim r As Range
Set r = Range("B1")
v = Range("B1")
[ ??? ]
End Sub
(1)~(6)で、コード中の空欄[ ??? ]に記述して実行できるものは〇、エラーになるものは×と答えなさい。また、〇の場合は実行後のセルB1の値、×の場合はエラーになる理由をそれぞれ述べなさい。
(1)r.Value = Range("B2")
(2)v.Value = Range("B2")
(3)v = Range("B2")
(4)Set r = Range("B2")
(5)r.ClearContents
(6)v.ClearContents
わえなび式 正解例
(このページの下にあります)
目標回答時間
回答時間無制限です。6個とも全部正確に答えられたら合格です。
この問題の出題範囲
「速読VBA単語」Program3-5まで
ご案内
ExcelVBAをなんとなく理解できればいいという初心者のための「速読VBA単語」を受講希望の方はカリキュラムをご覧ください。
正解例
r はセルを表す変数であり、Range("B2")の代わりとして用いることができます。v は単なる値を表す変数であり、代入してもセルそのものに影響はありません。まず、それぞれの式の意味が正確に言えるかどうかが大事です。
(1)〇 r つまりセルB1に、B2の値を代入
(2)× 「.Value」はExcelに実際に存在するセル範囲の後ろにつけなければならない。値の後ろにつけることができない。
(3)〇 変数v に、B2の値を代入
(4)〇 変数r を セルB2とする(Setし直すのはOK)
(5)〇 r つまりセルB1の文字列を消す
(6)× 「.ClearContents」はExcelに実際に存在するセル範囲の後ろにつけなければならない。値の後ろにつけることができない。
B1の値
(1)20
(3)10 変数への代入なので変わらない
(4)10 Setしただけなので変わらない
(5)空白
バックナンバー
この記事が気に入ったらサポートをしてみませんか?