- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:空き番を埋めていくマクロを作りたい)
空き番を埋めていくマクロを作りたい
このQ&Aのポイント
- 学年末の成績処理において、留年生や選択科目・進路希望により生じるクラスごとの生徒人数のばらつきに対応するため、空き番を最終行の1つ下から書き込んでいき、ソートしてデータを整理するマクロを作成したいです。
- 現在私立高校で教員をしています。学年末の成績処理において、各クラスのエクセルシートをそろえる必要がありますが、クラスごとの生徒人数にばらつきがあります。担当者によっては不要な行を削除してしまっているため、データがそろっていない箇所が生じます。そこで、空き番を最終行の1つ下から書き込んでいき、ソートしてデータを整理するマクロを作成したいと考えています。
- 私は私立高校の教員です。学年末の成績処理において、各クラスのエクセルシートを統一するため、空き番を最終行の1つ下から書き込み、データを整理するマクロを作成したいです。クラスごとの生徒人数にばらつきがあるため、データが整っていない箇所がありますが、ソートすることで問題を解決できると考えています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
詳細が分かりません 結局、21行目から生徒番号を比較して、無い番号を最終行に追加すれば終わりでよろしいか? 条件は50づつクラスをプラスするを7クラスまでを3年生分まで 〆て1050行で Sub test() Dim 学年 As Long Dim クラス As Long Dim 出席番号 As Long Dim 処理行 As Long 処理行 = 21 For 学年 = 10000 To 30000 Step 10000 For クラス = 100 To 700 Step 100 For 出席番号 = 1 To 50 Step 1 If Not Cells(処理行, 1).Value = 学年 + クラス + 出席番号 Then Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = 学年 + クラス + 出席番号 Else 処理行 = 処理行 + 1 End If Next 出席番号 Next クラス Next 学年 End Sub 実行前後に、A列をソートすること アレンジはご自分で
お礼
おはようございます。 遅い時間に回答いただきありがとうございました。思った通りの結果を得ることができました。 マクロの処理の仕方を見るとなるほどなぁと思いました。私には思いつかなかったです。配列に生徒番号のすべてを入れておいて、操作することだけを考えていました。 学年ごとにシートは別になっていることを質問するときに忘れていました。すみません。学年の部分のみ修正することでできました。ソートの部分は別のマクロを自分で作っているので、一括して処理することもできました。