- 締切済み
Microsoft Excel印刷時のナンバリング
- Microsoft Excelで同じシートを複数印刷する際のナンバリング方法について教えてください。
- ナンバリング(追い番号)をフッターまたはセル内で設定する方法や、マクロを利用する方法を教えてください。
- Microsoft Excelの印刷時におけるナンバリングに関する問題で困っています。ご教授いただけると幸いです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
本を読んだことがないので自己流でまちがっているかもしれませんが、マクロ設定について記述しておきます。 (1)メニューのツール→マクロ→新しいマクロの記録 (2)マクロ名をMacro1にしてOKを押す (3)メニューのツール→マクロ→記録の終了を押す (4)ツール→マクロ→Visual Basic Editorを押す (5)左にあるプロジェクトの窓で標準モジュールの下の階層にModule1があると思うのでそれをダブルクリック (6)右の窓のところに前回書いたソースを丸ごと貼り付け (7)上書き保存で終了 今回はセルに手入力の形にしましたが、エクセル側で表示→ツールバー→コントロールツールボックスをだして、テキストボックス・コンボボックス・コマンドボタンを使用すると、よりかっこよく出来ると思いますので挑戦されてみてはいかがでしょうか?VBやVBAけっこう挫折しますけど理解すると楽しいですよ。 下記にヘルプのライブラリを記述しておきます
エラー処理を入れないとあまりにも危険な為、ご存知かも知れませんが、追加しておきました。 Sub Macro1() On Error GoTo ERR 'エラーが起きた時ERRに飛ぶ A = CInt(Range("C28").Value) 'セルC28の値を整数に変換 B = CInt(Range("A1").Value) 'セルA1の値を整数に変換 I = 1 Do Until I >= A + 1 '>を追加する事によって無限ループが回避できる Range("A1").Value = Range("A1").Value + 1 ActiveSheet.PrintOut copies:=1 I = I + 1 Loop Exit Sub ERR: MSG = MsgBox("エラーのため処理を中断しました。", vbOKOnly, "エラー") End Sub ちなみに’より後の日本語はコメントになる為必要ないですよ。
もっといい方法があると思いますが私なりに考えてみました。Sheetという事は使用ソフトはEXCELですよね? フッターでナンバリングは少々難しそうなのでセルにしてみました。 Sub Macro1() A = Range("C28").Value I = 1 Do Until I = A + 1 Range("A1").Value = Range("A1").Value + 1 ActiveSheet.PrintOut copies:=1 I = I + 1 Loop End Sub ちなみにC28にコピーしたい枚数を手で入力し、A1にナンバリングしたい最初の番号を手入力し、マクロ実行します。プリンターはアクティブのものが選ばれます。 プリンターの設定処理やエラー処理も必要だと思いますがとりあえずこれでできます。 へたくそな処理でごめんなさい
お礼
感謝感激です。 但し小生、全くVBA素人です。 "マクロ"なんてウイルス発生の根源・・それが無縁のところで使っていたwindows95世代の人間です) 詳しい回避方法までありがとうございました。 (しかし、自分でEXCELマクロを走らせて見ようと思いましたが・・・うまく行きません・・・素人向けの)週末に専門書を読んでやって見ようと思います。 ありがとうございました。