• ベストアンサー

excelのindex関数

nishi6の回答

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

指定した生徒通番が印刷できるようマクロを作ってみました。 話を簡単にするため、「sheet1の欄外の通し番号を入力するセル」に"SeitoNo"(半角です)の名前を付けてください。 1.VBA画面で標準モジュールを挿入し、 2.下記のコードを貼り付けます。 3.シート2からマクロinsatuを実行します。 印刷したい通番を自動セットして印刷(プレビュー)しています。 今は1から3番が画面表示されます。 startNo、endNoを印刷したい通番に変えてください。 PrintPreviewをPrintOutに変えればプリンタ出力されます。 家の子も卒業式でした・・・・ Option Explicit Public Sub insatu() Dim p As Integer 'カウンタ Dim startNo As Integer '印刷する生徒通番の最初 Dim endNo As Integer '印刷する生徒通番の最後 startNo = 1 endNo = 3 For p = startNo To endNo Range("SeitoNo") = p Worksheets("Sheet2").PrintPreview Next End Sub

rt-fonce
質問者

お礼

丁寧なご回答を頂き、ありがとうございました。 VBAはじつは初めてで、成功するのに 少し時間がかかりましたが、おかげさまで 卒業式に間に合いました。 お子さまのご卒業、おめでとうございます。

関連するQ&A

  • 【ExcelVBAまたはExcel関数】成績管理

    ※Excel2010を使用しております。 約100名の成績一覧に入力した成績を、個人の成績表(学生ごとにシートがあります)に 反映させるようにしたいのですが、どのようにすればよいか分かりません。 Sheet1に、成績一覧があります(画像sheet1) なお、9001、9002、9003・・・は学籍番号で、3001、3002・・・は科目コードです。 生徒はすべての科目を履修しているのではなく、履修していない科目については、 空欄になっています。 sheet2以降に各生徒の成績表があります。(画像sheet2、sheet3・・・)成績表には、履修していない科目は表示 されていません。 ここで、成績一覧に入力されている成績を、個人の学籍一覧に反映させるように したいのですが、どのようにするのが最も効率的でしょうか。 VLOOk関数でできるかと考えましたが、できませんでした。

  • ExcelでIndexとMatch関数が使いこなせない

    すみません、カテゴリを間違えてまして、再度投稿いたします。 有給管理表をExcelで作成しています。 シート1に社員のデータ表を入力してあり、 シート2には有給が発生する社員へ有給の残日数や 付与日に関するお知らせの案内状をB5サイズで作っています。 シート1のデータを拾って、シート2の案内状へ反映させる際、 付与日や残日数などはVlookupで参照できるのですが、 社員番号は退職した社員がいるため番号が飛んでいて うまくできません。 IndexやMatch関数を使えばなんとかなりそうだと思い やってみましたが、VALUE!が表示されてしまいます。 どなたかうまくいく関数を教えて頂けますでしょうか? シート1のデータ例  A列   B列   C列   D列    E列 社員番号  氏名  入社日  付与日   付与日数 100001   くま  2007/4/1  2007/10/1  10 100003   たぬき 2007/5/1  2007/11/1  10 100005   うさぎ 2007/5/10 2007/5/10  10  100010   きつね 2007/6/1  2007/12/1  10 シート2(例)ページ1    B列   C列 B1 社員番号  100001←ここに式を入れたい B2 社員氏名  くま  さん(vlookupでC1を拾ってくる) B4 あなたの有給付与日は  2007/10/1 です。付与日数は 10 日です・・・・・・。 シート2 ページ2 B30 社員番号  100003 (←ページ1の次の該当者を拾いたい) B31 社員氏名  たぬき  さん B33 あなたの有給付与日は 2007/11/1 です。 付与日数は 10 日です・・・・・・。 このような感じです。社員番号が飛んでいても下の行を拾っていくような関数はありますでしょうか?(Index、Match関数以外でも結構です)

  • Excel の関数は複数の表に反映されない?

    学校で細かいデータ集計を任されてしまいました。  何度やってもうまくいきません。教えてください。  同じExel上の4月シート、5月シートというようにしてそれぞれの月のデータ集計を月ごとに合計を出し、それら12か月のデータを集約した新たなシートの表に1年間の表にまとめようとすると、全く違った計算式(関数というのでしょうか)が出てしまいます。  言っていることが分かりにくいかもしれませんが、関数を出すために「レ」のところをクリックするとSUMとかの文字が出ますよね。そこでたとえば4月のシートで集約した合計データを、「4!AH47」とか入れて、総集計のシートの表にそっくりコピーされるようにします。5月シートで作った合計を、「5!AH47」とか入れて、総集計のシートの表にそっくりコピーしていき、総集計データで4月から3月までの合計を、一覧表自動的に反映されるようにしたいのですが、関数式のSUM(AH4:AH13)などとして、合計を出るように式はいれるのですが、答えに反映されるべきところ、ここでは合計が出て欲しいのになぜか%のデータが出てしまいます。○○○○%などとおかしな数値が表示されてしまうのです。  SUMでなくひとつひとつのセルの記号と+記号を次々に手動で入れても%が表示されるのです。  どこが間違っているのか、それとも何度も転載はできないのでしょうか。

  • エクセルのアイディアをください。

    エクセルで、 sheet2,3,4,5・・・・・・に入れたデータを sheet1に一覧表にして反映させたいと思っています。 ひとつのシートに1つずつのデータしかいれなければ sheet1の一覧表はきれいに出来上がるのですが、(=Sheet2!A2の様にして)1つのシートに1つのデータを入れたり、2つのデータを入れる場合(シートによってデータの数が違う場合)どうしたらいいのかわかりません。 わかりにくいので例を・・・・・・・。 ex. sheet2にりんご1個の仕入れデータを入力。   sheet3に桃2個と、バナナ1本のデータを入力   sheet4にオレンジ1個、苺3粒、キウイ1個・・             ・             ・             ・ この様なデータをsheet1で一覧表の様にしたいのですが、どのようにしたらいいのかわかりません。 アドバイス下さい。

  • エクセル関数について

    初心者です。 誰か助けてください。 エクスポートしたエクセルデータが瞬時に他のワークシートへ反映されるようにエクセル関数を組みたいのです。 具体的には、経理から来たその月の売り上げデータをエクセルへエクスポートし、瞬時に他のワークシートに作成した1年分の月別売り上げ表に売り上げの件数及び金額が反映されるようにしたいのです。 その売り上げ表は22の支店別に行が分かれており、列項目に4月5月6月・・・と並べ、各月の売り上げ件数及び金額が入力できるようになっています。 毎月経理から送られるデータをエクスポートし、その売り上げ表に簡単に数字を反映させることができるようになれば、効率があがるのですが・・・ どなたか、お力を貸していただけませんでしょうか? お願いいたします。

  • excel オートフィルター後の通し番号

    A列からP列まで1から100までの表に A列に 通し番号を つけてあります。 これを B列や G列で フィルターをかけて 抽出した データの一覧を 印刷または集計するときに 通し番号を つけてあるA列の 番号が 抽出していないデータも当然かぞえてあるから 抽出データのみに通し番号がつくようにしたいです。 できれば フィルターかけたと 同時に変わる仕組みが望ましいです。 別シートにコピーはしないで このままの表をつかって できないものでしょうか?

  • エクセル関数について

    添付画像のようなデータ一覧を作成し、別シートでは日程毎申込者一覧、宿泊日別一覧を作成する予定です。 今までは、別シートへの抽出をVLOOKUPを使用し、受付番号で全てが出てくるという方法で、 いちいち手入力していました。 これを、参加日のみを打ち込めば対応する参加者が反映する・・という関数はあるのでしょうか? 上司より得た知識では、ツアー実施日が一日のみだったので、読み解くことができたのですが、 私の場合ツアー実施日が複数あるので困っています。 ご教授いただければと思います。 宜しくお願い致します。

  • エクセル関数で困っています。VLOOK??・・

    恐れ入りますが、下記のような場合での関数は何を使えばよろしいでしょうか? シート1に A列     B列 郵便番号  地区分コード(17分類) 000-0001  1 000-0002  2 000-0003  3 という一覧表があります。 シート2には A列     B列 郵便番号  事業所の一覧(3000社) 000-0001  トウキョウショウジ 000-0003  カナガワショウシャ 000-0002  サイタマコウギョウ という具合です。 シート1の郵便番号とシート2の郵便番号が一致した場合に シート1のB列にある地区分類コードをシート2のC列に入れたいのです。 シートがわかれている必要はありません。 VlookUPらしいということまで分かりましたが、何度やってもN/Aが出てきます。 どなたかお教え下さいませ m(_ _)m

  • Excelの関数について

    sheet1で作成した表の合計数(使用関数:sumproduct)を sheet2で作成している表に反映させたいのですが、 VLOOKUPを使うと必ずエラーになってしまいます。 VLOOKUPと同じような方法で条件ごとに検索して データを引き出す事が可能な関数はないでしょうか? 解り辛いかもですが、よろしくお願いします。

  • エクセルでシート間をまたぐ関数について

    http://okweb.jp/kotaeru.php3?q=1437319で質問をさせて頂き、オートフィルの回答を頂いたのですが、補足を付け加えて、 再度質問させてください。 仕事で効率化を図るため関数が必要となったのですが、 シート間をまたぐ関数が分かりません。 例えば、    A      B      C     1 機械番号  担当者番号   日付 _________________    2  AA-05     H-6    6/2 3  ES-12     R-9    5/31 4  LT-32     G-118   6/8 5  NB-45     H-6    6/5 6  AA-05     R-9     5/25 7  NB-45     G-118    5/5  <Sheet1>                    という表がSheet1にはあって    A      B      C     1 担当者番号  機械番号    日付 _________________    2  H-6      AA-05    6/2 3          NB-45    6/5 4  5  R-9      ES-12    5/31 6         AA-05    5/25 7 8  G-118     LT-32    6/8 9          NB-45    5/5   <Sheet2>                      という風な集約用の表 Sheet1に入力したデータをSheet2で指定の項目にしたがって集約させたいと考えています。 データが手元に来るのが少しずつなので、 あるデータから入力していき、Sheet2で担当者番号を入力すると、それに伴うデータが集約されて 出来れば一つのセルに反映させたいのです。 データの量も多く、その都度オートフィルで拾い上げて、 Sheet2に持っていくと、データが重複する恐れがあるので Sheet2で担当者番号を入力すると、機械番号・日付を自動表示させたいです。 こんな事って出来るのでしょうか? どなたか教えてださい。