[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ページ番号が連番として増えていくように』(〃^▽^〃姫)
今年もお世話になります。 連番が必要な書類原紙を数百枚作りたいのですが ページ設定で行の印刷タイトルで固定した中のセルが 連番となるようにはできるのでしょうか? 過去ログを見てこちらの↓ ボード [[20031024100444]] 『ページ番号が連番として増えていくように』(チエ)さん が、類似してるのかと思ったのですが、違うのです。 ご教授の程お願いします。
(〃^▽^〃姫)さん久しぶりですね。 [[20031228232834]]『自動ナンバリングはできますか?』(tani) とは違いますか?(ケン)
ケンさん,あけましておめでとうございます。 今年もよろしくお願いします。 覚えててくださって光栄です。 つい最近の投稿にあったのですね、すみません! マクロは自動記録でしかトライした事がないので お正月休みに少しでも理解出来たら良いのですが・・・ ゆっくりがんばってみますがまたお願いしますね (〃^▽^〃姫)
ケンさん何とかマクロを作動する事が出来ました。感激! フッターの左端に1−1/2・・・と表示されるのですね。 指定セルに1,2,3,4,5・・・と言うように ページ設定で行の印刷タイトルで固定した中のセルに 連番となるようにはコードをどのようにアレンジしたらできるのでしょうか? すみません (〃^▽^〃姫)
とりあえず代打です。 1シートの中の複数ページ印刷で 連番を振るということなので、 [[20031228232834]]『自動ナンバリングはできますか?』(tani) とは少し様相が違うかもしれませんね。
行タイトルを1:2 連番指定セルをG1に設定した場合のマクロ例です。 G1セルに「ページ番号/総ページ数」という具合にでます。
Sub TEST_20040103() Dim i As Integer Dim PAGECOUNT As Integer
PAGECOUNT = ActiveSheet.HPageBreaks.Count + 1
For i = 1 To PAGECOUNT With ActiveSheet .Range("G1") = "'" & i & "/" & PAGECOUNT .PageSetup.PrintTitleRows = "$1:$2" .PrintOut _ From:=i, _ to:=i, _ Copies:=1, _ Collate:=True End With Next i End Sub
ただし、この例では水平改ページしか見ていませんので、 垂直改ページがあるとうまく行きません。 その辺は改良の余地ありですが。 (KAMIYA)
Sub TEST_20040103b() Dim i As Integer Dim MYVAR As Variant Do MYVAR = Application.InputBox("印刷する部数を入力してください" _ & Chr(13) & "(キャンセルボタンで中止)", _ "印刷部数設定") Loop While IsNumeric(MYVAR) = False
For i = 1 To MYVAR With ActiveSheet .Range("G1") = i .PageSetup.PrintTitleRows = "$1:$2" .PrintOut _ Copies:=1, _ Collate:=True End With Next i End Sub (KAMIYA)
KAMIYAさん、代打、ありがとうです。今日は初詣に行ってきました。 階段で足、挫いた〜。kazuさんと同じ〜イタタッ(ケン)
(KAMIYA)さん、ありがとうございます。 私の思うとおりのフォーマットになりました。 嬉しいです!
ケンさんおかえりなさい。 足大丈夫ですか?心配です!
残り少ないお休み(私まだ初詣に行ってません・・・汗;)は 習ったたくさんのコードと反映された帳票を見て VBAになじめたらいいな〜〜〜って思います。 休み明けの勤務が楽しみ。 次回もみなさん助けて下さいお願いします。 (〃^▽^〃姫)
(〃^▽^〃姫)さん、お役に立ててよかったです。 VBAは覚えることがたくさんありすぎて大変ですが、 がんばってくださいね。 (私は7年目、それに比べればケンさんは上達早い!)
ケンさん、大丈夫ですかぁ? 年明け早々災難ですね。 「厄払い」ができたと思って元気出してください!
(ウチの息子もおみくじ「凶」を引いた上に 境内ですっころんでひざをすりむいて・・・ 同じ事言って聞かせました。) (KAMIYA)
(〃^▽^〃姫)さん、KAMIYAさんお気遣いありがとうございます。 良い厄払い出来たと思うようにします。(ケン)
早速、職場でも上手く出力する事ができました。ありがとうございました。 VBAの決まりとか言語はチンプンカンプンですが コードがどのような命令を発しているのかというようなことは おぼろげながら理解することができました。 (改ページ無しの1枚原紙には.PageSetup.PrintTitleRows = "$1:$2" は必要ないですね、勘違いしていました。抜いてみましたが大丈夫ですよね) そこですみませんが最初にページ番号に反映するように連番としてしまったので もし(必要性がでてきてしまったのですが・・・) 100番で一旦終了して続きの101番から連番印刷をかけようと思うと 全く違うマクロになるのでしょうか? (〃^▽^〃姫)
KAMIYAさんのコードをお借りして Sub TEST_20040103bspc2() Dim i As Integer Dim MYVAR As Variant Do MYVAR = Application.InputBox("印刷する部数を入力してください" _ & Chr(13) & "(キャンセルボタンで中止)", _ "印刷部数設定") Loop While IsNumeric(MYVAR) = False
For i = Range("G1").Value + 1 To MYVAR + Range("G1").Value With ActiveSheet .Range("G1") = i .PageSetup.PrintTitleRows = "$1:$2" .PrintOut _ Copies:=1, _ Collate:=True End With Next i End Sub こんな感じでどうでしょうか(ケン)
(ケン)さん足の具合はいかがですが? 編集ありがとうございます。 G1に発行開始の先頭番号を入力しておけば良いんですね? 嬉しいです!(〃^▽^〃姫)
(〃^▽^〃姫)さん、有難う御座います。もう、大分良くなりました。 勉強中なので、もう一つ考えてみました。 Sub TEST_20040103bspc3() Dim i As Integer Dim MYVAR As Variant Dim strt As Integer, numb As Integer
MYVAR = Application.InputBox("開始番号-印刷部数を入力してください" _ & Chr(13) & "(キャンセルボタンで中止)", _ "開始番号印刷部数設定") If MYVAR = False Then Exit Sub On Error GoTo err1 MYVAR = Application.WorksheetFunction. _ Substitute(MYVAR, "ー", "-") strt = Mid(MYVAR, 1, Application.WorksheetFunction. _ Find("-", MYVAR) - 1) numb = Mid(MYVAR, Application.WorksheetFunction. _ Find("-", MYVAR) + 1, 99)
For i = strt To numb + strt - 1 With ActiveSheet .Range("G1") = i .PageSetup.PrintTitleRows = "$1:$2" .PrintOut _ Copies:=1, _ Collate:=True End With Next i Exit Sub err1: MsgBox "入力ミスです。" End Sub
101番から50枚印刷する時は101-50と入力して下さい。 もっといい方法は有ると思いますが、今の私ではここまでです。(ケン)
おはようございます。 (ケン)さん、ありがとうございます。 思いどおりに仕上げもらい 親切機能までつけていただき嬉しいです。 マクロって本当に凄いですね! (〃^▽^〃姫)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.