アプリ版:「スタンプのみでお礼する」機能のリリースについて

シート「書類」には書類を作成しております。
シート「社員名」には、
A1    B1 
社員名 印刷フラグ   としております。
いちご   1
ばなな 2
めろん  1
 ・   ・
 ・   ・

印刷フラグが1のとき、1の社員名をシート「書類」のJ1に表示し、1の人数分印刷させたいのです。

Vloolupを考えましたが、フラグ1の人数分を印刷する方法が
わかりません。

お分かりの方、どうぞよろしくお願い致します。

A 回答 (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 にすれば印刷になる
    • good
    • 0

イメージは差込印刷ですね。

私の過去の質問で「請求書」の回答をしたパターンが近いと思う。VBAが簡単になるよう初心者用で、関数とVBAの折衷型です。VBAのベテランなら印刷など全部を精緻にVBAでやる方法はいくらもある。
質問するとき氏名であれば、いくら例示であるとしても、山田、鈴木、・・などの名前にするとか気配りしてください。
それに「書類」のイメージが例示されて無い。
片や回答者は回答に時間と手数が非常にかかることを想像してください。
ーーー
これは自動でやるには4、5行のVBAのコードが必要です。
例データ
Sheet2
社員情報のファイル
A列   B列   C列   D列
社員名部署金額印刷フラグ
山田 三郎営業24001
鈴木 花子総務30002
田中 健人事60001
ーー
印刷書式様式
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
コードの意味は勉強してください。自動印刷を希望する以上絶対避けて通れません。
    • good
    • 0

こんにちは。



ワードの「差し込み印刷」に近いですね。
社員名を入れたい文書をワードで作成し、エクセルで印刷フラグ1のみの表を作ればワードの「差し込み印刷」で出来るでしょう。

エクセルでは、関数や一般機能ではほぼ無理だと思います。(ほぼというのは100%の確信がないからです。)
なので、VBA(マクロ)を使うことになります。VBA(マクロ)の知識はどのくらいあるのでしょうか?
失礼ですが、質問の文面からはあまりなさそうに見受けられます。
なければ一から覚えることになり時間がかかるかもしれませんね。社員数が少なければ手入力して印刷する方が簡単でしょう。

VBA(マクロ)でやりたいということであれば回答しますので、その旨をお知らせください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!