• ベストアンサー

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

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

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

  • ベストアンサー
回答No.3

提示されている条件とは少し異なりますが、一つのシートに全てのデータを集め、オートフィルター機能を使用すればどうでしょうか? たとえばA列に氏名、B列に学年、C列にクラス、D列に出席番号を記入する表を作ったとします。 次に表の全ての範囲を指定し、プルダウンメニューから「データ」→「フィルタ」→「オートフィルタ」とクリックすれば、表の一番上の行の各列に矢印のボタンが出来ます。 (範囲指定するときに一番上の行のもう一つ上の空白の行も一緒に指定してください) 後は操作してみれば分かると思いますが、矢印をクリックして一覧表から氏名を探せますし、オプションで氏名を入力すれば、絞り込んだ検索が出来ます。 また、例えば2年生の中で、苗字に「木」の漢字を含む人は何人居るのか?・・・とか、簡易的なデータベースを構築することが出来ます。 基本的にパソコンは膨大なデータから、特定のデータを探し出す事が瞬時で出来るわけですから、シートを分けずに一括でデータを作ったほうが得策と思いますが、いかがでしょうか? 各シートに分割されているデータを一つにまとめるのも、切り取り→貼り付けで容易に出来ますね。 文章だけで説明するのは難しいですが、一度やってみてください。 補足:この様な操作をマクロで行う事も出来ますが、条件判断構造のマクロとなりますので、ちょっと複雑になります。

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

その他の回答 (3)

  • a987654
  • ベストアンサー率26% (112/415)
回答No.4

初心者の方には、マクロでは無理と思います。 他の方からもあります様に、アクセス等の データベースソフトの範疇と思いますが、EXCEL でと、言う事であれば、マクロなど使わずEXCELの 標準関数であるLOOKUPを使われたら如何ですか? 簡単ですが、欠点もあるので下記します。 (関数の使い方等は、本なりにてご理解ねがいます)  欠点   1.氏名の入力セル及びデータの表示セルは、     各学年異なるセルを使用します。   2.学年毎のデータは氏名の昇順にソートして     おく事。   3.同学年内に同姓同名(同文字)の人がいる     場合はソート順の最初の人にヒットします     ので何らかの方法にて区別が必要。   4.入力がデータ側と完全に同じでない場合は     間違ったデータにヒットしそこのデータを     表示します。 以上の欠点がありますが、兎に角簡単に要望事項は 叶えられると思います。

全文を見る
すると、全ての回答が全文表示されます。
  • Kazupie
  • ベストアンサー率17% (56/323)
回答No.2

マクロはある程度Excelを知り尽くしていないと使えません。(さらにVBAの使い方も覚えないといけない。) それから、このような作業は、データベーを使うのが本当です。(これも初心者には難しいかも) そこでアドバイスですが、フィールド(項目の事です)を列方向に、レコード(1件1件の記録です)を行方向に配置したワークシートを作成して下さい。 次に、プルダウンメニューの「データ」項目にあるメニューを使って手動で検索して下さい。 尚、「オートフィルタ」機能は、このような作業で使い勝手があると思います。 尚、分からない事は、ヘルプ(F1キーを押すと出てきます。)で探して下さい。 又、Excelやマクロの事で分からない事があったら、このサイトで質問して下さい。より専門的な事は下のリンク(=登録が必要)も有ります。

参考URL:
http://groups.msn.com/barunho800tbi4ek623a8foeu1
全文を見る
すると、全ての回答が全文表示されます。
回答No.1

無理にマクロ組まなくても,検索機能使えばよいのでは? メニューの編集-検索 もしくは,Ctrl+F。 複数シートでもEXCEL2003なら,あらかじめすべてのシートを選択しておけばよいです。(すいませんが,それ以前のバージョンは会社に行けばあるのですけど・・・今はわかりません。) マクロ組むのに四苦八苦するよりも手軽だと思います。また,大変失礼ながら初心者からそれだけのマクロを組み上げるなら,名簿にらんだほうが楽かも?

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

関連するQ&A

  • エクセルの一致検索マクロについて

    申し訳ありません。お力かして下さい。 ~~~~~~~~~~~~ ◆シート名(役員一覧)  A列   B列   C列  田中   藤田   秋山・・・・  清水   小田   北山・・・・ ◆シート名(役員名簿)  A列   B列     会計   田中  総務   秋山  会計   近江  書記   堀田  ・  ・  ・ ~~~~~~~~~~~~~ とある時に,シート名(役員一覧)に入力された名前と完全一致する 名前をシート名(役員名簿)のB列より検索し,その行を色付けなどで チェックできるマクロの作成に滞っております。 どなたか何とかお力かしてください!!!

  • エクセルで別シートからクラス別の名列表を作るには?

    学校の学年の名簿を作っています。 sheet1のセルAには通し番号、セルBには1年の組、セルCには1年の出席番号、セルDには2年の組、セルEには2年の出席番号、セルFには3年の組、セルGには3年の出席番号、セルHには名前を入れてます。 そこで、別のSheetでクラス毎の名簿一覧を作りたいと考えています。 できあがっている名簿の枠の中に、スピンボタンでクラスを1とか2とか入れると1組の出席番号順や2組の出席番号順に名簿ができるというものを考えています。 クラスによって人数の多少があるので、1組が35人の時には35番目の名簿まできちんと埋まって、2組が34人の時は35番目が空欄になるように。 さほどエクセルに詳しくなく、本やネットで散々調べ、何度か関数を入れてみましたが・・・。 どなたかのお知恵を拝借したく・・・。よろしくお願いします。

  • エクセル2013関数について

    エクセル2013について教えてください。 sheet1には出席者の名簿一覧を入力しています。 sheet2には支払い済の人の名前を入力しています。 sheet1の名簿の横に sheet2の支払い済みが分かるように『○』を表示させたいのですが エクセル初心者のため、関数がよくわかりません。 詳しい方、わかりやすく教えていただけませんでしょうか。 ちなみに sheet1のC7~C600まで名前が入力してあり E7~E500に『○』を表示させたいです sheet2はA2~A500まで名前が入力してあります 分かりづらく申し訳ありません

  • 成績管理(個人カルテ)をエクセルで

    学校に勤務しています。 タイトルは成績管理となっていますが、テストの結果等の数字の処理はなんとかできています。 ところが、個人懇談などに使う資料づくりをエクセルでしたいのです。 まず、クラスの名簿があります。 出席番号順に縦に名前が並びます。 横には項目が並びます。 たとえば、担当している係、また所属するクラブ活動などです。 こういう一覧は、普通に作成していますが、それをそのまま懇談などで使うと、本人の情報ばかりでなく、クラスの他の生徒の情報も見えてしまいます。 そこで、シートの2枚目以降を個人データのカルテのようにつくりたいのです。シートの2枚目は出席番号1番、3枚目は出席番号2番・・というように。 当然、一枚目の情報が2枚目以降に反映される必要があります。 私の頼りない知識では、セルに=を入力して、1枚目の必要なセルを指定すれば、反映させることはできます。しかし、それではひとつひとつすべて入力しないといけません。クラス30人分のシートをつくるだけでかなり時間がかかります。 便利な方法はないでしょうか。 また、すでにそういうシートの形式がどこかに紹介されていましたら教えてください。

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

    こんにちは。どうしていいかわからないので助けて下さい。 私立高校で教えている者です。もうすぐ学年末の成績処理が始まるのですが、各担当によって体裁のことなるエクセルのシートをそろえる必要があります。 生徒番号は各学年7クラスですので、1年生は10101~10750、2年生は20101~20750、3年生は30101~30750の番号が割り当てられています。 留年生や選択科目・進路希望によって、クラスによって少ないクラスは36人、多いクラスは42人とばらつきがあります。 たいていの職員は学校で配布されている基本名簿データを利用しているので、7クラス分のデータは21~370行目に入っています(1組生徒は21~70行目、2組生徒は71~120行目のようになっています)。A列は生徒番号、B列は氏名、C列以降に成績などが入力されています。 担当者全員が各クラス50行ずつとって処理をしてくれていればいいのですが、担当者によっては不要な行(該当する生徒名が入っていない番号が入っている行です。例えば1年1組が40人クラスだとすると10141~10150が入力されていた61~70行目)を削除しています。そのため、そのままの状態では串刺し計算のようなことができません。 なんとか10141~10150のような空き番を最終行の1つ下から書き込んでいって、ソートをして、7クラスの生徒のデータを21~370行に納めるマクロを作りたいと思うのですが、どのようにしたらいいでしょうか?

  • 出席番号で名前を出す方法

    現在、中学校で生徒会役員をやっております。 書記なので、生徒の名前を多数入力する必要があり、それを効率化する方法を探していました。Excel等でクラス、番号、名前の入ったデータをもとに、出席番号を打って名前を出力する、といった事は可能でしょうか。 あるのならば、その方法を詳しく教えてください。 当方、パソコン関係には結構詳しいのですが、Excelは今まで使う機会がなかったので、あまり使えません。(ただ、簡易な関数を使える程度です) ご回答、よろしくお願いします。

  • EXCELでの検索マクロを作りたいのですが

    マクロの初心者です。氏名の検索マクロを作成したいのですが分かりません。 A列:名前 B列:郵便番号 C列:住所 と 名前等のデータを(ランダムに)入力したシート1を作成し、 シート2にシート1の「A列:名前」から性(たとえば青木)で検索して検索ボタン(マクロボタン)を押して該当データを表示させるようにしたいのですが。

  • エクセル・マクロを利用した進級処理

    officeXPを使用しています。 名簿を作成しているのですが、年度替わりに進級処理をしなくてはならないため、マクロを利用してシート「全校名簿」から、3年生のデータを抽出して値をクリアしたいと考えております。 ちなみにシート「全校名簿」の中身ですが、    A      B   C    D     E 1  学級番号 学年 クラス 出席番号 氏名 2  1101    1   1    1     ○○太郎 3  1102    1   1    2     ○△花子 ・ ・ ・ 335 3429    3   4    29    ××二郎 の様になっています。 毎年名簿上の人数は変動するので、マクロを利用するときにクリアする範囲は変わってきます。(人数が一定なら簡単にできるのですが) この抽出したデータをまとめてクリアする方法がわからないため行き詰まっています。どなたか教えて下さい。お願いします。

  • エクセル 班名簿のクラス変更について

    うまく検索できず、質問させてください。 役員仕事で学校の通学班名簿を作成しています。 これから来年度分を作成するのですが、 全生徒の学年・クラスの変更をしなくてはなりません。 下記のような新クラスの名簿は貰えます。 3年1組 苗字 名前 Aさん Bさん … 通学班名簿の 学年 苗字 名前 4-2 Aさん 3-2 Cさん 2-1 Dさん 4-3 Bさん 4-1 Eさん 5-2 Fさん … この通学班名簿の学年クラスを クラス名簿を元に訂正する場合 「苗字・名前のセルが一致した場合、新クラスに変更する」 となるとどのようにしたら良いでしょうか… どうぞ宜しくお願いします。

  • エクセルでLOOK UP?

    エクセルでできた二つの名簿ファイルがあり、片方のファイル(1)にはクラス全員の学籍番号と名前が、それぞれ1列目、2列目に入力されています。もう片方のファイル(2)にはクラスの一部の生徒の学籍番号だけが1列目に入力されています。エクセルを使って、ファイル(1)のデータを参照し、ファイル(2)の生徒の学籍番号の横(2列目)に一括で名前を表示するにはどのような式でどのような操作を行えばよいのでしょうか?よろしくお願いします。