エクセル 印刷マクロ

解決済みの質問

エクセル 印刷マクロ

Win XP /エクセル2003 使用です。

エクセルで請求書を作成しています。

1件の請求書に1行目から100行目を使用し、
2件目は、101行目から200行目、
3件目は、201行目から300行目・・・を使用しています。

現在、印刷する時は、一枚一枚、
「印刷範囲を指定」して出力しているのですが、
これをマクロまたはVBAのボタン機能を使って、
印刷できるようにしたいのですが、
何か良いサンプルなどはありますでしょうか?

よろしくお願いいたします。

投稿日時 - 2010-11-16 11:57:50

連想キーワード:

QNo.6323045

困ってます

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

私は、頭が悪いのでしょうか、質問が良く分かりません。一体、どうしたわけでしょうか?

印刷範囲を指定しないでも良いようにしたいのか、#2さんのマクロのように、印刷範囲を、マクロで指定したいのでしょうか?それとも、1件目、2件目というように別けたいのでしょうか。

#1さんのご指摘のように、1ページを100行に指定すれば良いわけですが、それだとかなり小さくなりますね。100%の倍率で、せいぜい50行前後ですから。

縮小せずに、1件目と2件目の間を別けたいなら、100行目の所に、ページ改行すればよいと思います。タイトルを切り分けるならマクロが必要になるように思いますが。

投稿日時 - 2010-11-16 14:26:55

お礼

Wendy02 さま 早速のご回答ありがとうございました。
返事が大変遅くなり申し訳ございません。

こちらの質問の仕方が悪く大変申し訳御座いませんでした。

なんとか解決いたしました。

今後ともよろしくお願いします。

投稿日時 - 2010-12-08 04:41:34

ANo.3

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.2

VBAで書くならこんなところ。

---------------------------------------
'印刷する行数
Private Const PRINT_LINE = 100
'指定できる最大件数(暫定値)
Private Const MAX_CNT = 500
Sub Macro1()
On Error GoTo EXIT_SUB
  
  Dim kensuu As Integer
  Dim bkrow, bkcol As Long

  '現在のセル位置の保存(複数セルを選択しているケースは考慮外)
  bkrow = ActiveCell.Row
  bkcol = ActiveCell.Column

  '何件目を印刷するか指定させる
  kensuu = Application.InputBox("何件目を印刷しますか?", "印刷件数指定", , , , , , 1)

  '指定した件数の範囲チェック
  If kensuu <= 0 Or kensuu > MAX_CNT Then
    '件数が0の場合は「キャンセル」かもしれないので、
    '0以外の場合だけメッセージ出力
    If kensuu <> 0 Then
      MsgBox "件数が範囲外です。", vbOKOnly + vbExclamation
    End If
    GoTo EXIT_SUB
  End If

  '画面更新の抑止設定
  Application.ScreenUpdating = False
  
  '指定した行数を選択して印刷(標準プリンタ使用)
  Rows(((kensuu - 1) * PRINT_LINE + 1) & ":" & (kensuu * PRINT_LINE)).Select
  Selection.PrintOut Copies:=1, Collate:=True

  'セル位置の復元
  Cells(bkrow, bkcol).Select
  
EXIT_SUB:
  '画面更新の抑止解除
  Application.ScreenUpdating = True
  Exit Sub
End Sub

投稿日時 - 2010-11-16 12:55:21

お礼

crossgate さま 早速のご回答ありがとうございました。
返事が大変遅くなり申し訳ございません。

コードまでご教授いただきありがとうございました。

なんとか解決いたしました。

今後ともよろしくお願いします。

投稿日時 - 2010-12-08 04:42:40

ANo.1

1ページに100行を印刷するようにページ設定を行うことをお勧めします。
必要なら、ページ設定で、一行目をシートの行のタイトルにしては。

投稿日時 - 2010-11-16 12:03:08

お礼

aokii さま 早速のご回答ありがとうございました。
返事が大変遅くなり申し訳ございません。

ご指摘の通りちょっと難しく考えすぎていたようです。
なんとか解決いたしました。

今後ともよろしくお願いします。

投稿日時 - 2010-12-08 04:43:44

あわせてチェックしたい
  • エクセルマクロVBAについて ...
  • マクロ vba 印刷  ...
  • エクセルマクロの件 ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら