• ベストアンサー

Excel書類に社員名を印刷したい

シート「書類」には書類を作成しております。 シート「社員名」には、 A1    B1  社員名 印刷フラグ   としております。 いちご   1 ばなな 2 めろん  1  ・   ・  ・   ・ 印刷フラグが1のとき、1の社員名をシート「書類」のJ1に表示し、1の人数分印刷させたいのです。 Vloolupを考えましたが、フラグ1の人数分を印刷する方法が わかりません。 お分かりの方、どうぞよろしくお願い致します。

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

  • ベストアンサー
  • nak777r
  • ベストアンサー率36% (49/136)
回答No.3

前に回答した事あるので、これが近いかな http://oshiete1.goo.ne.jp/qa3770555.html で、修正箇所 Set Sheet1 = ThisWorkbook.Worksheets("売上") ← "社員名" に変更 Set Sheet2 = ThisWorkbook.Worksheets("伝票") ← "書類" に変更 Do While (Sheet1.Cells(baseRow, 2).Value <> "") ← , 1) に変更 If (Sheet1.Cells(baseRow, 1).Value = 1) Then ← , 2) に変更 Sheet2.Range("O3").Value = Sheet1.Cells(baseRow, 2).Value ↑ "O3" を "J1"に変更 , 2) を , 1) に変更 この次の4行を削除 Sheet2.PrintPreview ← PrintOut にすれば印刷になる

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

イメージは差込印刷ですね。私の過去の質問で「請求書」の回答をしたパターンが近いと思う。VBAが簡単になるよう初心者用で、関数とVBAの折衷型です。VBAのベテランなら印刷など全部を精緻にVBAでやる方法はいくらもある。 質問するとき氏名であれば、いくら例示であるとしても、山田、鈴木、・・などの名前にするとか気配りしてください。 それに「書類」のイメージが例示されて無い。 片や回答者は回答に時間と手数が非常にかかることを想像してください。 ーーー これは自動でやるには4、5行のVBAのコードが必要です。 例データ Sheet2 社員情報のファイル A列   B列   C列   D列 社員名 部署 金額 印刷フラグ 山田 三郎 営業 2400 1 鈴木 花子 総務 3000 2 田中 健 人事 6000 1 ーー 印刷書式様式 Sheet1 通知書 氏名 山田 三郎 部署 営業 金額 2400 山田三郎のセルの式 =INDEX(Sheet2!$A$2:$C$30,$F$1,1) 部署        =INDEX(Sheet2!$A$2:$C$30,$F$1,2) 金額        =INDEX(Sheet2!$A$2:$C$30,$F$1,3) INDEXはVLOOKUPでも行番号を持てば出来ると思うが。 それにカウンターとして、印刷範囲外にこの例ではF1に1セル利用する。この1セル邪魔だが、この回答の簡単さ(主にVBAコードが複雑にならないように)がここから生まれる。 ーーー VBA 標準モジュールに Sub test01() For i = 2 To 4 '最終行数まで繰り返し If Worksheets("sheet2").Cells(i, "D") = 1 Then 'D列1なら Worksheets("sheet1").Cells(1, "F") = i 'カウンタにSheet2での指定行数を入れる Worksheets("Sheet1").Range("A1:D10").PrintOut '印刷 End If Next i End Sub コードの意味は勉強してください。自動印刷を希望する以上絶対避けて通れません。

noname#187541
noname#187541
回答No.1

こんにちは。 ワードの「差し込み印刷」に近いですね。 社員名を入れたい文書をワードで作成し、エクセルで印刷フラグ1のみの表を作ればワードの「差し込み印刷」で出来るでしょう。 エクセルでは、関数や一般機能ではほぼ無理だと思います。(ほぼというのは100%の確信がないからです。) なので、VBA(マクロ)を使うことになります。VBA(マクロ)の知識はどのくらいあるのでしょうか? 失礼ですが、質問の文面からはあまりなさそうに見受けられます。 なければ一から覚えることになり時間がかかるかもしれませんね。社員数が少なければ手入力して印刷する方が簡単でしょう。 VBA(マクロ)でやりたいということであれば回答しますので、その旨をお知らせください。

関連するQ&A

  • EXCEL VBA 社員名簿印刷したい

    お世話になります。 EXCEL VBAを使って社員名簿を印刷したいのです。 データというシートに社員情報が入っています。(可変ですが100名ほど) このシートに[印刷]というボタンを配置してこれをクリックしたらSheet1の様式にあてはめて 社員人数分印刷をしたいのです。 どのたかお知恵をおかりできますでしょうか? よろしくお願い致します。 EXCEL2013

  • 【EXCEL2000】2つのリストの合計を出すには?

    リストA リンゴ 3 みかん 5 バナナ 2 スイカ 3 リストB りんご 2 メロン 4 バナナ 3 いちご 2 ↑のような2つのリストがあるとして、 リストC りんご 5 みかん 5 バナナ 5 スイカ 3 メロン 4 いちご 2 リストA・Bの合計がリストCのようにするにはどのような関数を使えばいいかお解りになる方教えてください。 判りづらい質問で申し訳ありません。m(_ _)m ※品名と数量は別セルです。

  • EXCEL関数について

    EXCEL関数について EXCEL2003を使用しております。 お知恵を拝借願います。 「りんご」、「いちご」、「なし」は「グループ1」 「バナナ」、「メロン」は「グループ2」というように、 果物を20個のグループに分けます。 それぞれのグループの果物は、1個から10数個まで様々です。 Sheet2、A列、A2~A100セルに果物名、 Sheet2、B列、B2~B100セルにグループ番号(1~20)がランダムに入力されています。 ここで、Sheet1のA2セルに「りんご」と入力すると、 Sheet1のB2セルにグループ番号「1」が返せるような関数はありますでしょうか? 「VLOOKUP」で試してみたのですが、数字ではなく果物名から検索したいのと、 数字が重複しているので使えないことに気付きました・・・。 何卒ご教示頂きたく宜しくお願い致します。

  • エクセルのシート名参照関数

    エクセル関数でいろいろ試したのですがうまくいかず困っています。 VBAは出来ないので(苦手なので)できましたら関数で教えてください。 12年1月~12年12月で別々のシートがあり、それぞれ別の『行』『列』に参照をしたい数字があります。 集計シート名『Sheet1』の『A1』に『検査値』、『B1』~『B12』に『12年1月』~『12年12月』、『C1』~『C12』に『該当する値』を表示したいと思います。 具体例 <シート名 : Sheet1> ---A-----B----C 1 リンゴ 12年1月 値 2 -----12年2月 値 3 -----12年3月 値 4 -----12年4月 値 5 -----12年5月 値 <シート名 : 12年1月> ---A----B 1 リンゴ 100 2 バナナ 50 3 メロン 10 4 スイカ 5 5 ミカン 1 <シート名 : 12年2月> ---A----D 1 パイン 10 2 バナナ 20 3 メロン 30 4 リンゴ 40 5 ミカン 50 <シート名 : 12年2月> ---A----F 1 パイン 10 2 バナナ 20 3 スイカ 30 4 リンゴ 40 5 ミカン 50 <シート名 : 12年3月> ---A----C 1 パイン 1 2 レモン 10 3 リンゴ 100 4 メロン 1000 5 イチゴ 10000 上記<シート名 : Sheet1>の『C列』に式を入れ、それぞれのシートから『A1』に該当する値を表示させたいと思います。 文書が下手ですのでわかりにくい内容で申し訳ありません。

  • EXCEL:抽出・シートに分散させる方法

    下記の様なデータを元に、各担当者別に用意された売り上げ表の雛形に表示させたい(指定した項目を指定したセルに)のですが、 実現出来る関数はありますでしょうか? オートフィルタ>コピペではなく、毎月の処理になるので自動的に出来る様にしたいのですが。 顧客名  担当者  商品名  金額 A社   佐藤   バナナ  100 B社   鈴木   バナナ  100 C社   田中   メロン  100 A社   佐藤   バナナ  300 A社   佐藤   リンゴ  200 C社   田中   メロン  100 これを↓ Sheet 佐藤 顧客名  商品名  金額 A社   バナナ  100 A社   バナナ  300 A社   リンゴ  200 ------------------ Sheet 鈴木 顧客名  商品名  金額 B社   バナナ  100 ------------------ Sheet 田中 顧客名  商品名  金額 C社   メロン  100 C社   メロン  100 よろしくお願いします。

  • Accessレポートの表示方法

    過去に同様の質問があれば、すみません。探してみたのですが見つけれませんでしたので、質問します。 テーブルに以下のデータが入っているとします。 A店 メロン 5個 B店 バナナ 2個 C店 メロン 1個 A店 いちご 3個 B店 メロン 2個 C店 バナナ 6個 A店 メロン 3個 B店 いちご 2個 C店 バナナ 1個 これをレポートで以下のように出力するにはどうしたらよいのでしょうか? メロン A店 8個     B店 2個     C店 1個 バナナ A店 0個     B店 2個     C店 7個 いちご A店 3個     B店 2個     C店 0個 各個数の計算はクエリ等を利用するのはわかっているのですが、 メロン A店 8個 メロン B店 2個 メロン C店 1個 と、メロンを何回も表示させるのではなく、1回にしたいのです。

  • エクセルで集計表を作ろうとしています。

    エクセルで集計表を作ろうとしています。 商品コード  商品名   A店(個) B店(個) 12      いちご   3      2 66      バナナ   6      20 12      いちご   55      4 55      メロン   12      9 66      バナナ   100      15 12      いちご   99       38 上記のような表から、商品ごとにA店とB店の個数を出したいのですが、 商品は、100種類くらいあって、すべてのデーターの数は、3000くらいあるので、簡単に出す一番いい方法を教えてほしいです。 最終的には、 商品コード  商品名  A店  B店 12    いちご  231  100 55    メロン  230  55 66    バナナ  99   198 みたいなかんじで4項目を100くらいある商品コード順に表示したいです。 ピポットや集計表を使えばいよいのでしょうか?エクセルは、あまり詳しくないので、詳しいかたどうぞよろしくお願いします。

  • EXCEL・VBAで、範囲名を参照したい。

    またまたお世話になります。 タイトルの通りなのですが、EXCELで作成している出勤表(sheet毎に月別にし、縦軸に社員名、横軸に日付を入れてあります。社員名は同一のブックの別シートにまとめてあり、参照で各月に表示してあります。)で、出勤した日に”1”を入れるのですが、今は手で月ごと、社員名毎に範囲名を作成し、一ヶ月分をまとめて入力しています。 今はまだ40名程なので、月が変わった時に範囲名を手で付け替えているのですが、人数が増えてきたり、入力担当者が変わったりした時に、この方法は大変になってくると思います。 そこで、現在の範囲名登録状況を確認し、(配列で良いと思います。)社員名と照合し、選択シートに自動的に割り振るように出来たら良いと思い、挑戦しているのですが、『現在の範囲名登録状況を確認』するところが、検索しても中々出てこなくて困っております。 予め、何という『範囲名』が登録されているか分からない、それを取得したい、といった場合、そういうことは可能なのか、範囲名を付け替えるには、DIMにREDIMがあるように一つのコマンドで可能なのか、それとも、削除→シート変更→作成を繰り返さなければ不可能なのか、また、方法は在るのか等知りたいです。よろしくお願い致します。

  • エクセルの集計表について

    エクセルで下記のような表があります。 商品コード  商品名   A店(個) B店(個) 12      いちご   3      2 66      バナナ   6      20 12      いちご   55      4 55      メロン   12      9 66      バナナ   100      15 12      いちご   99       38              ↓ 商品コード  商品名   A店(個) B店(個) 12      いちご 合計             157    44 55      メロン 合計             12      9             66       バナナ    合計             106    35 集計表を使って、商品ごとにA店とB店の個数合計を出すのですが、 個数合計が出た行のみを、一括で書式を変えるにはどうしたらよいでしょうか? 商品は、100種類くらいあって、すべてのデーターの数は、3000くらいあります。 合計の列だけを抽出して、ドラックしてコピーしても、その間にあるすべての列が変更されてしまうので。 エクセルは、あまり詳しくないので、詳しいかたどうぞよろしくお願いします。

  • エクセルのシート名を、シート1に作成した新旧一覧表に対応させる形で、複数シート一括で変更するには?

    エクセルのシート名の変更について教えてください。 シート1のA列に、現在のブックのシート名が、 シート1のB列には、変更したいシート名が 対応するように入力されています。 シート数は50~200程度で、つど変わります。 例     A列    B列 1行目:りんご   赤色  2行目:ばなな   黄色 3行目:メロン   緑色     ・     ・     ・     ・     ・     ・ ※この場合、「りんご」は「赤色」に、「ばなな」は「黄色」に、 「メロン」は「緑色」に、それぞれシート名を変換したい。 今は、手作業でひとつずつシート名を変換しており、 かなりの手間で困っています。 一覧表を作成するまでは手作業でいいのですが、 何とかして、シート名の変更を、この一覧表を参照して できないでしょうか? 過去の質問をいろいろと見たのですが、 該当するものが見つけられず、VBAも初心者のため、 途方にくれています。 ぜひともご教授ください。

専門家に質問してみよう