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-01-25 11:37:06 )