痔になりやすい生活習慣とは?

エクセルの印刷するたびに、そのシートのセル内の数字を1つづつ増やしながら、希望の数値まで印刷させる方法はあるのでしょうか?
要するにエクセルで差込印刷がしたいのです。印刷ごとに数値が増えれば、VLOOKUP関数などでセルの文字や数値が変えられると思うのです。印刷ごとにセルの数値を増やす方法を教えてください

このQ&Aに関連する最新のQ&A

A 回答 (1件)

マクロを使えば可能です。



(1)必要な件数だけ一気にカウント・印刷する方法
【セルA1でカウントさせ、1~20まで実行】
Sub 連続印刷()
Dim i As Integer
  For i = 1 To 20
    Sheets(1).Range("A1").Value = i
    ActiveSheet.PrintOut
  Next
End Sub

(2)手動で印刷していき、セルにカウントさせる方法
【VBEのThisWorkbook内に記入】
Private Sub Workbook_BeforePrint(Cancel As Boolean)
  C_P = Sheets(1).Range("A1").Value
  C_P = C_P + 1
  Sheets(1).Range("A1").Value = C_P
End Sub
※こちらの場合、印刷のタイミングでカウントされるので初期値は 0 にしてください
    • good
    • 1
この回答へのお礼

ありがとうございます
やってみます

お礼日時:2005/04/01 09:43

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルの表を複数枚印刷したときに連番をつけたい

エクセルの1枚の表を100枚印刷し、その表のシート内(AW3)に連番を打ちたいのですが、なにか簡単な方法はありますか?
今までは印刷を100枚して、ナンバーリング(ハンコ)で連番を打っていましたが、ちょっと面倒なんです。
マクロを使ったことのない初心者ですが、何かよい方法はありませんか?よろしくお願いいたします。

Aベストアンサー

#02です。
開始番号、終了番号を指定する場合はこんなマクロです。
ただし開始、終了ともに正の数でないと印刷は行いません。

Sub NumberPrint()
Dim idx As Integer
Dim frmPage, toPage
 frmPage = Application.InputBox("連番を挿入して印刷します" & Chr(13) _
     & "開始番号を入力してください", Type:=1)
 toPage = Application.InputBox("終了番号を入力してください", Type:=1)
 If frmPage > 0 And toPage >= frmPage Then
  For idx = frmPage To toPage
   Range("AW3").Value = idx
   ActiveSheet.PrintOut
  Next idx
 Else
  MsgBox "開始番号、終了番号が不適切です。印刷は行いません"
 End If
End Sub

#02です。
開始番号、終了番号を指定する場合はこんなマクロです。
ただし開始、終了ともに正の数でないと印刷は行いません。

Sub NumberPrint()
Dim idx As Integer
Dim frmPage, toPage
 frmPage = Application.InputBox("連番を挿入して印刷します" & Chr(13) _
     & "開始番号を入力してください", Type:=1)
 toPage = Application.InputBox("終了番号を入力してください", Type:=1)
 If frmPage > 0 And toPage >= frmPage Then
  For idx = frmPage To toPage
   Range("AW3...続きを読む

QEXEL 毎ページ 数値を増やして印刷したい

EXEL2003を使っています。

今度開くイベントの入場券にシリアルナンバーを
入れたいと思っています。

そこで50枚印刷すると、1から50までの数字が印刷される、という形にしたいのですが、どうやったら実現できるでしょうか。

ログでも探してみたつもりなのですが、分からなかったので、分かる方がおられたらご教授お願いいたします。

Aベストアンサー

VBAを使えばわけなく出来ます。
A4用紙横を2つに分割して、同様のチケットの文面を左右に一対つくります。右側は左側のコピーで作れば良いです。
そして、例えば左半分A-J列の番号はC3、K列は切り取り線、L-V列の番号はN3とします。
Sub test01()
N = 1
For i = 1 To 200
Cells(3, "C") = N
Cells(3, "N") = N + 200
Range("A1:v30").PrintOut
N = N + 1
Next i
End Sub
を実行すれば、200枚自動印刷されます。
あと印刷に関係する
(1)チケット文言
(2)レイアウト(どの行のどの列に文言を入れるか)
(3)フォント・色・フォントサイズ・罫線
(4)列幅・行高
(5)印刷のページ設定(例えばA4横の設定等)は全て、手動操作で、試行錯誤して、旨くA4横に収まるように調整します。
(6)その結果の最下行でRange("A1:v30").PrintOut
のVの30の数字を置換えてください。
A-V列も小生の勝手な予想で、チケット2枚分の最右列でVを置換えてください。
十分2枚分の印刷レイアウトに自信が持てた後
For i = 1 To 200
をFor i = 1 To 3ぐらいにして試し印刷し、OKの後に
上記マクロで数十枚ずつ印刷します(大量失敗を防ぐため。)
番号の途中スタートはN=52
とかすれば52番から番号を印刷します。
枚数はFor i = 1 To ○の○のところを変えます。

VBAを使えばわけなく出来ます。
A4用紙横を2つに分割して、同様のチケットの文面を左右に一対つくります。右側は左側のコピーで作れば良いです。
そして、例えば左半分A-J列の番号はC3、K列は切り取り線、L-V列の番号はN3とします。
Sub test01()
N = 1
For i = 1 To 200
Cells(3, "C") = N
Cells(3, "N") = N + 200
Range("A1:v30").PrintOut
N = N + 1
Next i
End Sub
を実行すれば、200枚自動印刷されます。
あと印刷に関係する
(1)チケット文言
(2)レイアウト(どの行のどの列に文...続きを読む

Qエクセル印刷時 一枚の書類に印刷枚数分の連続番号を振るには?

質問が既出していましたら申し訳ありません。

総枚数一枚のエクセルのシートを百枚印刷するとして、 
シート一枚ずつに連続番号(できたら右下)を印刷時にふることは可能でしょうか。印刷枚数分番号(この場合1~100)を振るにはどうしたらいいのでしょうか。
ご返答お待ちしております。

Aベストアンサー

1シート1ページの場合に、ページ番号が出れば宜しいのでしょうか?

(1)「すべてのシートを選択」状態にして、メニューから「ファイル」-「ページ設定」を選択して、ページ設定画面を表示します。

(2)ページ設定画面の「ヘッダー/フッター」タブで、「フッターの編集」ボタンを押します。

(3)「右側」と表示されているテキストボックス内をクリックした後、左から2番目のボタン(#が表示されている)を押すと、テキストボックスに”&[ページ番号]”が表示されます。

(4)ページ設定画面の「OK」ボタンを押して設定を終了します(ページ番号の印刷が設定されます)。

(5)印刷する時に、「印刷対象」に”ブック全体”を選択して印刷します。

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

Qエクセル連番自動印刷について

マクロについてお尋ねいたします。

エクセルから印刷時に連番を自動的に印刷できるようにしたいと思いマクロを組みましたが
指定のセル(画像参照)に1を入力後、マクロを実行し印刷が始まり連番1番から50番までは自動的に印刷することに成功いたしました。
そのときに実行したモジュールの内容は下記のとおりです。
次に51番から100番まで印刷できるようにしたいと思い、
エクセルのセル内に51を入力し、モジュールの内容を書き換えマクロを実行してみましたが印刷に失敗いたしました。

Sub 印刷()

Dim no As Integer

Sheet1.Cells(3, 8) = ""
no = 1 ←ここを51書き換える

Do Until no > 50
Sheet1.Cells(3, 8) = no
Sheet1.PrintOut
no = no + 1
Loop


End Sub

どのようにしたら51番から100番まで印刷できるかご教授いただけませんか
よろしくお願い致します。

マクロについてお尋ねいたします。

エクセルから印刷時に連番を自動的に印刷できるようにしたいと思いマクロを組みましたが
指定のセル(画像参照)に1を入力後、マクロを実行し印刷が始まり連番1番から50番までは自動的に印刷することに成功いたしました。
そのときに実行したモジュールの内容は下記のとおりです。
次に51番から100番まで印刷できるようにしたいと思い、
エクセルのセル内に51を入力し、モジュールの内容を書き換えマクロを実行してみましたが印刷に失敗いたしました。

Sub 印刷()

...続きを読む

Aベストアンサー

こんにちは!
>指定のセル(画像参照)に1を入力後・・・
とありますので、H3セルに「1」を入力し、マクロを実行されているのですよね?

それを「51」からというコトですので、H3セルに「51」を入力 → マクロ実行とすると

Sub Sample1()
Dim cnt As Long
Do Until cnt = 50 '//50まで
cnt = cnt + 1
Worksheets("Sheet1").PrintOut
With Range("H3")
.Value = .Value + 1
End With
Loop
End Sub

ではどうでしょうか?m(_ _)m

QExcelのマクロでボタンを押すと数が1足されるようにするには?

とあるイベントで
来客者の人数を調べたいと思いました。
紙に正の字を書いていってもいいのですが
折角なので、後のグラフをつくったりする作業がやりやすいように
PCで処理しようと思いました。
しかし、いちいち数をけして打ちなおしていくのは
あまりにも面倒です・・・
街灯の人数調査(?)の人がもってる
カウントできる機械のようなものも持っていませんし・・・

例えばマクロを使用し
ボタンを押すとセル内の数が1足されるように
設定したいのですがどうすればよいでしょう?
もしくは、そういったことは可能でしょうか。

ワンクリック(もしくはそれに準ずる簡単さ)で
カウントがとれればマクロでなくても構わないです。
Excelあまりいじったことがないので
教えていただければ幸いです。

また、マクロでそういったことができないのであれば
Excel以外でもカウントをとることができるものがあれば
合わせて教えていただけると嬉しいです。
よろしくおねがいします。

Aベストアンサー

Range("A1") = Range("A1") + 1

と書いたマクロを適当なボタンに登録して下さい。
A1に初期値を記入しておけば、ボタンをクリックする毎に1ずつ加算されます。

QEXCELでNo.を変えて印刷したい

EXCEL2000でページ数は1枚なのですが、500枚同じものを印刷するときに右上にNo.0001~0500までのNo.つけて一枚づつ印刷するにはどうしたらいいのでしょうか?

Aベストアンサー

エクセル自体にその機能は無いと思います。
VBAを使えば実現できます。
1.ワークシートにコマンドボタンを一つ配置します。
2.コマンドボタンを右クリック→プロパティ
3.プロパティウィンドウのPrintObjectをFalseにします。
4.コマンドボタンをダブルクリックします。→VBAの画面が開く
5.Private Sub CommandButton1_Click()とEnd Subの間に以下のように入力します。

Dim i As Integer
For i = 1 To 500
Range("A1").Cells = "No." & Format(i, "0000")
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
DoEvents
Next i

6.3行目のRange("A1").Cellsという部分のA1はページ番号を書きたいセルを指定して下さい。
 また、2行目のFor i = 1 To 500はNo.1~500までという意味なので好きな数字に置き換えて下さい。
7.間違いなく入力できたらVBAの閉じるボタンを押して閉じます。
8.エクセルの画面にあるコントロールツールボックスにある緑の三角定規を押して、押して押されていない状態にします。
9.コマンドボタンを押します。

注意:通常使うプリンタに設定されている物に連続して出力します。
途中で止められませんので、最初は試しで少しづつやって下さい。

エクセル自体にその機能は無いと思います。
VBAを使えば実現できます。
1.ワークシートにコマンドボタンを一つ配置します。
2.コマンドボタンを右クリック→プロパティ
3.プロパティウィンドウのPrintObjectをFalseにします。
4.コマンドボタンをダブルクリックします。→VBAの画面が開く
5.Private Sub CommandButton1_Click()とEnd Subの間に以下のように入力します。

Dim i As Integer
For i = 1 To 500
Range("A1").Cells = "No." & Format(i, "0000")
ActiveWindow.SelectedSheets.P...続きを読む

Qマクロで印刷→セルの値から部数変更するには

エクセルの表を印刷するためのマクロを作っています。
印刷の都度、印刷部数が変わってくるので
「A1」に入力した部数を印刷するようにしたいのですが・・・

ActiveWindow.SelectedSheets.PrintOut Copies:=Range("A1").Value

これではエラーとなってしまいます。
正しくはどのようにすればよいのでしょか。

初歩的な事で申し訳ありませんが、よろしくご教授ください。

Aベストアンサー

提示のコードで上手くいくはずです。

ただ単に、セルA1に数値が入ってないだけでは?
それか、部数のセルA1は印刷するシートではなく
別シートなのでは?

もしそうなら、
Copies:=Sheets("Sheet2").Range("A1").Value
とシート名を明示しなければ。。。

それから、
印刷シートのA1に部数を入れると
それも印刷されてしまいますが。。。
ま、印刷範囲を選択していたら別ですが。

以上確認してください。
 

Q日付だけを変更して印刷(Excel)

事務の仕事をしています。
毎月初めに営業さんにExcel2003で作った日報や予定表などの書類を、
一ヶ月分(31枚)コピーして渡していました(中の文書は手書きなので、全部同じ内容です)

しかし最近、日付と曜日だけは先に入力しておくように言われたので、
毎回 「12月●日▲曜日」 の●と▲の部分だけ変えて一枚ずつ印刷しているのですが、何種類もあるので少し大変です。

一度印刷ボタンを押すだけで、日付と曜日を変更して一ヶ月分を一度に印刷してくれるような機能はありますか?

説明が下手で申し訳ありません。
よろしくお願いします。

Aベストアンサー

マクロ(VBA)を使えば可能です。
一番簡単なのは、同じフォーム(帳票)を一つのシートに31枚コピーして予め作ってしまう事かも知れません。

日付や曜日は関数や書式で設定できるので、1枚目に設定するだけで他の帳票の日付も自動的に変更されます。
印刷時は必要なページ数(日数:28-31)までを印刷すれば良いでしょう。

(1)1枚目の日付と曜日が1セルなら「m"月"d"日" aaa"曜日"」と書式設定しておきます。
(2)1枚目をコピーして1枚目の下段に貼付けます。
(3)2枚目の日付欄に「=[1枚目の日付セル] + 1」と式を記入。
(4)2枚目をコピーして下段に必要枚数貼付ける。

1枚目に日付を入れればいつでも使えます。

Qエクセルを使って名簿を連続印刷するには

名簿の名前だけを一人一人ピックアップして、A1のセルに入れて、連続して自動印刷はできますか。
使っているソフトは、EXCEL2003です。
宜しくお願いいたします。

Aベストアンサー

もう少し名簿がどのシートにどのような状態であるとか、印刷用のシートは別シートであるとか、
マクロの知識はありますとか、詳細な情報を質問に入れた方が、回答を得易いと思いますよ。

で、Sheet1のセルAに以下のように名簿が並んでるとします。

氏名(これはタイトル)
宛先 氏名1
宛先 氏名2
宛先 氏名3
宛先 氏名4
宛先 氏名5
宛先 氏名6
宛先 氏名7
宛先 氏名8
宛先 氏名9

印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。
なお、Sheet2の印刷範囲は仮にA1:D7の範囲としています。

Sub Pri_Name()

 Range("A2").Activate
 Do While ActiveCell.Text <> ""
  Worksheets(2).Range("A1").Value = ActiveCell.Text
  Worksheets(2).Range("A1:D7").PrintOut
  ActiveCell.Offset(1, 0).Activate
 Loop

End Sub

上記のマクロはAltキーを押しながらF11キーを押して表示されるマクロのエディタでF7キーを
押して出てきたところに貼り付けます。
印刷を実行する場合はAltキーを押しながらF8キーを押して表示されるマクロの実行指示画面で
「Sheet1.Pri_Name」が選択されている事を確認して、同画面にある「実行(R)」ボタンを押します。

もう少し名簿がどのシートにどのような状態であるとか、印刷用のシートは別シートであるとか、
マクロの知識はありますとか、詳細な情報を質問に入れた方が、回答を得易いと思いますよ。

で、Sheet1のセルAに以下のように名簿が並んでるとします。

氏名(これはタイトル)
宛先 氏名1
宛先 氏名2
宛先 氏名3
宛先 氏名4
宛先 氏名5
宛先 氏名6
宛先 氏名7
宛先 氏名8
宛先 氏名9

印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。
なお、Sheet2の印刷範...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング