【Day37】文系オタクのエンジニア道~ステートメント 問題演習~
こんにちは
安田です
行のオブジェクト Row
Q
セルC2~C6に「100」と入力したい。このとき、【 1 】【 2 】に入る適切なものを選ぶ
Sub Test1()
Dim i As Long, A As Long, B As Long
A = 100
B = Cells(Rows.Count, 1).【 1 】.【 2 】
For i = 2 To B
Cells(i, 3) = A
Next i
End Sub
A
【1】End(xlUp) 【2】 Row
解説
「Rows.Count」は、最大行数を取得
「Cells(Rows.Count, 1)」はA列の一番下のセル(A1048576)を取得
「Cells(Rows.Count, 1).End(xlUp).Row」と記述した場合
「A6」の「6」を取得するために
「.End(xlUp).Row」が答えとなります
変数Bに「6」が代入されたことで、「For i = 2 To 6」と同じ処理になるため、セルC2~C6に「100」が入力される
Ifステートメント
Q
セルA1の値が70より大きい場合は「合格」、それ以外の場合は「不合格」と表示したい。このとき、【 1 】【 2 】に入る適切な内容を答えよ
Sub Test1()
【 1 】 Range("A1") > 70 Then
MsgBox "合格"
Else
MsgBox "不合格"
【 2 】
End Sub
A
【1】If 【2】 End If
Withステートメント
指定したオブジェクトに対して、複数の処理を行う場合
オブジェクトを省略することができる
Q
マクロ「Test1」を実行したところ、次の図のようにA列の値が70以上の場合は、B列に「合格」、それ以外の場合はB列に「不合格」が入力された。このとき、【 1 】に入る適切な内容を答えよ
Sub Test1()
Dim i As Long
For i = 2 To 6
【 1 】 Cells(i, 1)
If .Value >= 70 Then
.Offset(0, 1).Value = "合格"
Else
.Offset(0, 1).Value = "不合格"
End If
End 【 1 】
Next i
End Sub
A
With
Withステートメント内で「.」から記述を開始した場合、「.」の前に指定したオブジェクト名を記述した場合と同じ処理を実行する
まとめ
正答率としては50%でした
今回は自分がミスした問題をピックアップして
まとめました
実際にコードを書いて
エクセルで実行してみると
自分の回答がエラーになることが分かりました
また実践しながら、インプットをしていきます
「VBAマスターに俺はなる」
最後まで読んでいただき
ありがとうございます
安田
マガジンにまとめてありますので
よかったらそちらも御覧ください
この記事が気に入ったらサポートをしてみませんか?