• ベストアンサー

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/17070)
回答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