• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:空き番を埋めていくマクロを作りたい)

空き番を埋めていくマクロを作りたい

このQ&Aのポイント
  • 学年末の成績処理において、留年生や選択科目・進路希望により生じるクラスごとの生徒人数のばらつきに対応するため、空き番を最終行の1つ下から書き込んでいき、ソートしてデータを整理するマクロを作成したいです。
  • 現在私立高校で教員をしています。学年末の成績処理において、各クラスのエクセルシートをそろえる必要がありますが、クラスごとの生徒人数にばらつきがあります。担当者によっては不要な行を削除してしまっているため、データがそろっていない箇所が生じます。そこで、空き番を最終行の1つ下から書き込んでいき、ソートしてデータを整理するマクロを作成したいと考えています。
  • 私は私立高校の教員です。学年末の成績処理において、各クラスのエクセルシートを統一するため、空き番を最終行の1つ下から書き込み、データを整理するマクロを作成したいです。クラスごとの生徒人数にばらつきがあるため、データが整っていない箇所がありますが、ソートすることで問題を解決できると考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.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列をソートすること アレンジはご自分で

CaveatEmptor
質問者

お礼

おはようございます。 遅い時間に回答いただきありがとうございました。思った通りの結果を得ることができました。 マクロの処理の仕方を見るとなるほどなぁと思いました。私には思いつかなかったです。配列に生徒番号のすべてを入れておいて、操作することだけを考えていました。 学年ごとにシートは別になっていることを質問するときに忘れていました。すみません。学年の部分のみ修正することでできました。ソートの部分は別のマクロを自分で作っているので、一括して処理することもできました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  •  エクセルで中学校の成績処理を行っています。

     エクセルで中学校の成績処理を行っています。  ブックはシート3枚構成で、シート1はメニュー画面、シート2には生徒番号(1組1番の生徒は101)、学年、組、氏名、各教科の成績データが入力されており、シート3は、特定のセルに入力した値(生徒番号)を参照するvlookup関数を使った個票形式になっています。 マクロを使って、メニューシートにクラスを入力し、そのクラスの生徒の個票が連続で印刷されるプログラムを使っています。生徒数は学級によって違います。また、生徒番号は転出等により途中欠番があります。  今まで次のようなプログラムを使っていました。 Sheets("menu").Select For 行 = Range("E17").Value To Range("G17").Value Sheets("個票").Select Range("ak5").Value = 行 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Next Sheets("menu").Select  E17セルには開始生徒番号(1組の場合は101)、G17セルには最終生徒番号が自動計算で出てくるようにしています。  この方法だと欠番のところに1つ前の生徒のデータが重複して印刷されます。 そこで、メニューシートに入力した組を、データシートの組列の上から順番に検索し、一致するセルの行を開始行とし、その行の生徒番号の値を個票シートにコピーし、個票を印刷。次にその行の1つ下の行の生徒番号をコピーし印刷。これを該当クラスだけ続けて、組が別の組になったら終了するというような形に変えたいと思います。  たぶんdo loopなどでできると思うんですが。よろしく御願いします

  • グループごとの最高得点者一覧を取得するには

    MySQLで、グループごとの最高得点者一覧を取得する方法を教えてください。 例えば、「生徒番号」「学年」「組」「成績」というカラムを持ったテーブルがあるとき、各クラス (「学年」と「組」のペア) から一人ずつ、最高得点を取得した生徒の「生徒番号」と「成績」を取得しようとしています。このとき「生徒番号」は一意ですが、「成績」は一意とは限りません。 また、同じクラスで最高得点者が二人以上いる場合、すべて取得か条件を指定して一人に絞るかを選べたらなおありがたいです。 【だめだった例】 SELECT 生徒番号, 成績 GROUP BY 学年, 組 ORDER BY 成績 DESC ⇒ 「GROUP BY 成績」なので「生徒番号」を SELECT できない SELECT 生徒番号, 成績 GROUP BY 学年, 組 HAVING MAX(成績) ⇒ 同じく SELECT 生徒番号, 成績 WHERE 成績 IN ( SELECT MAX(成績) FROM テーブル GROUP BY 学年, 組 ) ⇒ 「成績」は一意ではないので、余分な行 (他のクラスで成績が同じ者) が取得される

    • ベストアンサー
    • MySQL
  • エクセル マクロがつくれません!!

    仕事で必要なのですが、、私のレベルでは、作れず、困ってます!! データが、一列目 番号       二列目 名前       三列目 学年とクラス名 と入っております。 1の1は、一年生の1クラス 1の2は一年生の2クラス 2の1は二年生の1クラス・・です。 今は、学年とクラス名(三列目)が        1の1の人        1の2の人        2の1の人        2の2の人 と数十名づつならんでいて、1の1の人の最後に2の1の人達の行を切り取って、挿入し、 1の1の人達  2の1の人達 1の2の人達 2の2の人達 と、クラスごと並べ替えたいのですが、 マクロの自動機能で作ると、行数で記録してしまうため、 人数が増えたときに対応できません。。 わかる方いましたら、お教え願います。 よろしくお願いいたします!!

  • エクセル・関数で成績の絞込みの仕方

    エクセル2002を使用しています。 成績処理のための絞込みを行いたいと考えています。 A ・・・・      E 2101         31 2102         51 ・ ・ ・ 2332         47 上記のようにA列は学年・クラス・出席番号の通し番号、E列にはある科目の得点が入力されています。 たとえば2年1組で、得点が30~50点の範囲に何人いるかを知りたいわけです。 自分でやってみて、COUNTIFを利用した場合、 A列かE列どちらかを絞り込むことは出来たのですが、両方とも絞込みの条件にすることは出来ませんでした。出来る方法があるのでしたら教えてください。

  • 連続しない範囲が複数ある場合の順位の出し方について

    こんにちは、 学校で習熟度別のクラス分けをするのですが、行き詰ってしまったのでよろしくお願いします。 21行~370行目までにデータが入っています(20行目までは平均点などを表示するために空けています)。A列に個人番号10101~10750までが入っています。10101は1年1組1番です。各クラス40人ですが、転入生のことも考え50人分ずつ取っています(ですので2組は71行目、3組は121行目から始まるようになっています)。B列に氏名、C列に点数が入っています。 1組と3組の2クラスを応用、標準、基礎クラスの3クラスに分けて、習熟度別授業をしています。テストの成績でクラス分けをするのですが、1組と3組の計80人から上位35人が応用クラス、次の30人が標準クラス、残りの15人が基礎クラスに分けたいのです。 順位を出すのにrank関数を使うのはわかるのですが、範囲が離れている場合はどのようにしたらよいでしょうか? できれば関数で解決したいのですが、無理ならマクロでもかまいません。 よろしくお願いします。

  • エクセル・進級処理2

    エクセル2002を使用しています。VBA初心者です。 生徒名簿を作成中です。前回質問の内容 (下記URL参照) http://oshiete1.goo.ne.jp/kotaeru.php3?q=789215 に新たに追加する処理をしなければいけなくなりました。 追加の内容は (1)旧1年のデータを抽出し、学年・クラス・番号のそれぞれの列をクリアする。 (2)クリアした部分のうち学年の列のみ"2"の数字を入力する。 (3)旧2年のデータをそれぞれ抽出。・・・以下(1)と同様の処理を行う です。  このうち(1)については、前回質問した内容と同様なので、(2)についてわかる方がいましたら、教えてください。簡単なことなのかもしれませんが、よろしくお願いします。

  • エクセルのマクロで

    下記のような表において(行数は500ほど) 別シートに 担当者名「 」検索 、 処理年月「  」検索 というアイコンを作成し、 たとえば 処理年月「2007/06」検索 と入力し、アイコンをクリックすると 2007/06のデータ抽出されてが別シート(またはアイコンの下)に作成されるといったしくみをつくりたいと思っています。 A列 番号 (例;A-001,B-002) B列 タイトル C列 担当 D列 処理年月 マクロについては初心者に近いので、上記のようなしくみをやさしく紹介しているサイトがありましたら、お教えください。 よろしくお願いいたします。

  • VBA(マクロ)について

    エクセルのマクロを使って下記のように実行を考えています。 A列のコード番号が一定ではないため、処理に困っています。 どなたかアドバイス頂けないでしょうか。 詳細についてです。A列にコード番号があり、B列に数値があります。 例えば、A列の1~3行目まで100とあり、4~5行目まで400と1~3行目と4~5行目の数値はおなじです。3行分だったり2行分だったりと不規則に下に続いていきます。 そのA列の同じコード番号全てに対して、B列の値を合計してC列に合計値を入力したいのです。 C列の合計値入力箇所は、A列の1~3行目までだとするとC列1行目に合計値がくるようにしたいのです。 ちなみに行数は10万桁ほどあります。

  • Excelのマクロで教えてほしいのですが・・。

    私は現在生徒会役員なのですが、 皆さんにひとつ教えていただきたいことがあるのです。 私たちは、行事などで、よく名前だけを元にクラス,出席番号を検索しなければなりません。 それも、全クラス名簿とにらめっこしながらです。 そこで、それが手間だ・・ということで、生徒会役員で考えたのですが、 PCソフトのエクセルをつかって検索ができるようにしたいのです。 とあるHPにてやり方を習得しようと思ったのですが、PC初心者の私たちにはなにがなんだかさっぱりのようです・・。 「マクロ」をつかえばいいと言われたのですが、まったくわかりません・・。 よかったら、初心者の私どもでもわかるような程度で教えていただけませんか? 条件を箇条書きにしておきますので、よろしくお願いします。 【条件】 ・シート1に検索画面   ⇒(検索方法としては、学年選択項目があって、名前を入力するような形がいいです) ・シート2に1年生,3に2年生,4に3年生の生徒のクラス,出席番号,氏名入力済み よくわからないかもしれませんが、わかるかた・教えてくださる方、本当にお手数ですが、お願いします!!

  • excelのマクロで条件による行の挿入

    列AとBがあり列Aに学校のクラス名A組、B組、C組・・・(20クラスほど)と氏名が 入るエクセルシートがあるのですが 先頭行はA組から始まり5行区切りで数え、(A組も5行のうちに入る) その5行内に次のB組が入らないように空白行を挿入したいです もし、5行以内にB組がない場合、次の5行でまたB組があるか判定しなければ氏名5つ あれば空白をいれてというのを20クラスぶん作るマクロは可能でしょうか? VBAの知識がさっぱりないので途方にくれています。 元のデータの例   マクロ実行後 列A   列B      列A   列B A組           A組   氏名1 111      氏名1 111  氏名2 222      氏名2 222 B組           空白行挿入 氏名3 333      空白行挿入 氏名4 444      B組 氏名5 555      氏名3 333 氏名6 666      氏名4 444 氏名7 777      氏名5 555 C組 氏名6 666              氏名7 777              空白行挿入              空白行挿入              空白行挿入              空白行挿入              C組  

このQ&Aのポイント
  • 20代後半の夫婦がウエディングドレスの試着をした際、妻がビスチェタイプのドレスを気に入り、夫も可愛いと評価した。
  • 帰宅後、写真を見返していた夫が妻の胸元について「エロくていい」とコメントしたことで、妻が不機嫌になり涙を流し、男性社会の弊害として女性が性的な目で見られることについて怒りを表明した。
  • 夫は謝るとともに、女性がこのような思いをしているのかについて意見を聞きたいと述べている。
回答を見る

専門家に質問してみよう