Excel VBA 質問スレッド №2067 (解決済)
初心者の課題を助けてください
投稿者 : はなまる 投稿日時 : 2025/01/07(Tue) 23:34:32 OS : Windows 11 EXCEL : 未指定
大学の課題についてです。①、②は解くことができたのですが(合っているかは分かりませんが、、)③と④の問題が全くわからないのでコードを教えて欲しいです。(分かりづらくてすみません、、、プログラミングほぼ未経験者です。)
前提:
・C2を初期値セルの入力セルとし、(B4:E7)のセルに4×4のマスを作るとする。
・(B4:D6)セルには初期値に入力した数字が反映される
・黄色のセルとされる(E4:E6)と(B7:D7)には横縦の数字の合計が入る。
・(E7)セルは縦横の黄色のセルの合計値が入る。
①ifステートメントを使用して、初期値セルの入力値(C2)が1~100までの場合「OK」と表示、入力値が範囲外の場合には、エラー表示((例)「入力範囲外です」)が出て、黄色の合計セル及び連番が入る9マスのセルがクリアされるコードを作成
予想答えコード↓
② For文を使用して、表への入力順に従って入力されるコードを作成
予想答えコード↓
③ ①、②を使用して初期値セルの入力値が1~100の場合、表への入力順に従って入力値から連番の9つの数字が入力され、行・列ごとの3マスの合計値(黄色セル)が出力されるようにしてください。 また、入力値が範囲外の場合には、エラー表示が出て、合計値(黄色セル)と連番が入る9マスのセルがクリアされるようにしてください。
④ 「入力値から連続した9つの値の合計」を求める関数を作成し、Functionプロシージャを上記Subプロシージャ内で実行する形式で表合計値をE7に算出してください。
大学の課題についてです。①、②は解くことができたのですが(合っているかは分かりませんが、、)③と④の問題が全くわからないのでコードを教えて欲しいです。(分かりづらくてすみません、、、プログラミングほぼ未経験者です。)
前提:
・C2を初期値セルの入力セルとし、(B4:E7)のセルに4×4のマスを作るとする。
・(B4:D6)セルには初期値に入力した数字が反映される
・黄色のセルとされる(E4:E6)と(B7:D7)には横縦の数字の合計が入る。
・(E7)セルは縦横の黄色のセルの合計値が入る。
①ifステートメントを使用して、初期値セルの入力値(C2)が1~100までの場合「OK」と表示、入力値が範囲外の場合には、エラー表示((例)「入力範囲外です」)が出て、黄色の合計セル及び連番が入る9マスのセルがクリアされるコードを作成
予想答えコード↓
Sub practice_14_1()
If Range("C2"). Value >= 1 And Range("C2"). Value <= 100 Then
MsgBox "OK"
Else MsgBox"入力範囲外です"
End If Range("B4:7").
ClearContents End Sub
② For文を使用して、表への入力順に従って入力されるコードを作成
予想答えコード↓
Sub practice_14_2() For i= 4 To 6 For J = 2 To 4 Cells(i, J). Value = i * J Next J Next i End Sub
③ ①、②を使用して初期値セルの入力値が1~100の場合、表への入力順に従って入力値から連番の9つの数字が入力され、行・列ごとの3マスの合計値(黄色セル)が出力されるようにしてください。 また、入力値が範囲外の場合には、エラー表示が出て、合計値(黄色セル)と連番が入る9マスのセルがクリアされるようにしてください。
④ 「入力値から連続した9つの値の合計」を求める関数を作成し、Functionプロシージャを上記Subプロシージャ内で実行する形式で表合計値をE7に算出してください。
スポンサーリンク
[返信 1] Re : 初心者の課題を助けてください
投稿者 : てらてら 投稿日時 : 2025/01/08(Wed) 06:11:48
こんにちは。
>(合っているかは分かりませんが、、)
コードを走らせなければ、いつまで経っても正解にはたどり着けません。
参照にしてください。
こんにちは。
>(合っているかは分かりませんが、、)
コードを走らせなければ、いつまで経っても正解にはたどり着けません。
参照にしてください。
Sub practice_14_1()
If Range("C2").Value >= 1 And Range("C2").Value <= 100 Then
MsgBox "OK"
Else: MsgBox "入力範囲外です"
End If
'Range("B4:7").ClearContents 間違い
Range("B4:E7").ClearContents
End Sub
'③
Sub practice_14_3()
n = Range("C2")
If Range("C2").Value >= 1 And Range("C2").Value <= 100 Then
MsgBox "OK"
For i = 4 To 6
For j = 2 To 4
Cells(i, j).Value = n
n = n + 1
Next j
Next i
Total = 0
For i = 4 To 6
For j = 2 To 4
Total = Total + Cells(i, j).Value
Next j
Cells(i, "E") = Total
Next i
Total = 0
For j = 2 To 4
For i = 4 To 6
Total = Total + Cells(i, j).Value
Next i
Cells(7, j) = Total
Next j
Else
MsgBox "入力範囲外です"
Range("B4:E7").ClearContents
End If
End Sub
'④
Function myTotal() As Long
Total = 0
For i = 4 To 6
Total = Total + Cells(i, "E").Value
Next i
myTotal = Total
End Function
Sub practice_14_4()
Range("E7") = myTotal
End Sub
[返信 2] Re : 初心者の課題を助けてください
投稿者 : はなまる 投稿日時 : 2025/01/16(Thu) 13:54:23
無事とくことができました!ありがとうございます。
無事とくことができました!ありがとうございます。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-11-09 01:19:33 )