• ベストアンサー

エクセルのマクロで印刷設定(最終行空白カット)

エクセルの印刷設定をマクロでしたいと考えています。もとから印刷設定を1万行に設定してあるシートに、データがはいっています。 下の空白行をカットして印刷できるようなマクロを探しています。 横幅は設定しなくても用紙の中に入ります。 縦幅のみ1万行(データは数十ページ)あります。 1万行に設定している理由は、大容量のデータベースから必要項目のみ抽出して1万行シートに転写しているからです。 よろしくお願いいたします。 Excel2002

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

  • ベストアンサー
  • an_inack
  • ベストアンサー率47% (9/19)
回答No.2

あれ? 先日までもっとたくさん レスがついていた気がしたのですが・・・ しかもそのものずばりな回答が・・・ >データ数行のみ設定されるということはありません  1万件とデータ件数が決まっていない、  というのは最初の書き込みを読んで  わかっていました。  言いたかったのは、  「印刷範囲設定をしなければ、   空白行は印刷されないはずです」  ってことでした。  ためしに適当にExcelシートへ  何百行かデータを入れて  印刷プレビューされてみては?  私の言いたいことが伝わると思うのですが・・・  マクロでの印刷範囲設定のしなおしが難しいか?  という質問について答えるならば、  そう難しくは無いと思います。  以前ついていたレスの通り、  印刷範囲設定操作をマクロ記録すれば、  方法がわかるかと思います。  (1)抽出したデータの件数を取得する  (2)取得した件数行目まで範囲選択  (3)印刷範囲設定  データ抽出マクロがどのようデータを  吐いているのかがわからないので、  具体的にコードまでは書きませんが、  (1)~(3)の流れでコードを書けばできるはずです。  ちょっと気になったのですが、  1万行の印刷範囲指定は、  マクロでやっているわけではなく、  1万行の印刷範囲指定があらかじめされている  シートに、データが抽出されてくるってことで  いいですよね?  的をはずしていたらごめんなさい。  

yasuhiko2001
質問者

お礼

お返事ありがとうございます。 説明不足・勉強不足ですいません。 今回の回答を読んで、だいたいの解決方法がわかってきました。 ためしにマクロをくんでトライしてみます。

その他の回答 (1)

  • an_inack
  • ベストアンサー率47% (9/19)
回答No.1

念のため質問です。 抽出結果は最大1万件と分かっているのですか? 1万件以上の場合はないのですか? ひょっとして、1万件以上の場合は印刷したくないので 1万行に印刷範囲設定をされているってことなのでしょうか? 横幅は何も指定しなくてもちゃんと印刷されるならば、 印刷範囲指定をしなければ、 データ行数分しか印刷されないと思うんですが・・・

yasuhiko2001
質問者

補足

とりあえず1万件を超える抽出データは出ないことになっています。 念のためのスペースとして印刷範囲を設定しています。 大量データの抽出はマクロを使用するため、データ数行のみ設定されるということはありません。 ですから、この部分もマクロで印刷設置を修正したいと考えているのですが難しいでしょうか?

関連するQ&A

  • Excel 空白行を上に詰めるマクロ

    関数を使用して、sheet1からsheet2に必要なデータを抜き取りました。 sheet2のセルには関数が入っています。 sheet2の抽出データには1行単位(まれに2~3行続けて)空白が発生します。 この行を削除し、かつ上に詰めて表示をしたいのですが、下記の条件で実行可能でしょうか? (例) sheet1 ⇒ sheet2   A   B   C     A  B  C 1 あ  い  う   1 あ  い  か 2        か   2 (空白行) 3 き  く   け    3 き  く  し   4 こ  さ   し   4 (空白行) ●2行目、4行目を削除し、且つ5行目以降に入力されている関数は削除したくない ●空白行削除のマクロは自動?(sheet1のデータを変更したら)で実行できるようにしたい よろしくお願いします。

  • エクセルマクロ 空白行の削除ですが、コピー時の問題

    いつもお世話になっております。 エクセルのマクロですが、指定したシートの指定した行にデータが 入っていない場合に削除するマクロなんですが、行くつか試してみ ましたが、削除したものをコピーして張り付けると、削除された行も コピーされてしまいます。完全に削除するにはどのようにしたらよい のでしょうか。 空白行のあるデータを、空白を無くしてデータベースにコピーする 作業を行いたいのですが、他によい方法はありますでしょうか。 よろしくお願いします。

  • マクロでエクセルの空白行をアクティブにしたい

    データーを入力しているシートがあり、マクロのボタンをクリックする データの空白行をアクティブになるようにしたいのです。 具体的に B列のデーターが入力されていない行をアクティブにして他のシートのデーターを張り付ける作業をしたいのですが・・よろしくお願いします。

  • エクセルで1行ごとに空白行を挿入し、挿入した空白行に色をつけたいです

    タイトルの通りです。 エクセル(2000)で、データはシート毎に件数が違います。 各シート毎にそれぞれ1行毎、空白行を挿入し、挿入した空白行のA列~G列までに薄いグレーの色をつけるマクロを入れたいのですが、うまくいきません。 詳しい方、教えて下さい。

  • ★エクセル(EXCEL)の印刷領域とページ設定のコピー

    マサオと申します。 エクセルのことについてですが、マクロで作成する会社のデータがあります。ただそのデータは、印刷領域とページ設定が合っていないので、作成後毎回設定しないといけません。 (1)マクロのデータベース(画面では見えない)がシート上にあるのでデータベースを含めたところまで印刷しようとするので、実際印刷するところに設定しないと行けない (2)ページ設定(用紙の向きと一枚で印刷するように設定する) そこで同じファイルに何枚もシートがあるので一枚だけ印刷領域とページ設定をすれば他のシートにコピーする方法は無いのでしょうか? 教えてください。

  • エクセルのマクロで、印刷設定をしたいのですが可能でしょうか?

    エクセルのマクロで、印刷設定をしたいのですが可能でしょうか? お世話になっています。 会社での作業を少しでも効率よく出来ないものかと、以下のようなことを考えています。 エクセル2003を使用していますが、下記のような動作をするマクロを組むことは可能でしょうか? よろしくご教授ください。 Sheet1は、入力用のシートとして使っています。 Sheet2は、Sheet1に入力された商品データなどから、必要な箇所のみ反映されるように設定しています。 このシートは、罫線などが存在し表形式になっており、全てを印刷するとA4用紙6枚分になります。 そこで、Sheet1(入力用のシート)のJ18セルに文字が入力された場合は、Sheet2(印刷用のシート)の1ページだけを印刷したく、Sheet1のj27セルに文字が入力された場合は、Sheet2の2ページまで・・・ Sheet1のJ36に文字が入力された場合は、Sheet2の3ページまでという風に印刷範囲を設定しなくても印刷出来るようにしたいのです。 よろしくお願いします。

  • エクセル マクロ 連続する空白行の削除

    エクセルのマクロ処理で、連続する空白行を削除するにはどうしたらいいでしょうか。 行いたい処理は、データ間に存在する一行のみの空白行は残し、二行以上連続する空白行を一行の空白行に縮めるといったことです。

  • 空白行になるまでループし、印刷するマクロを教えて下さい

    シート1にデータがあり、シート2にvlookup関数を使用して、 番号に対応する登録番号・所属・氏名を表示させるようにしました。 質問なのですが、 A2に番号が1~3まであり、空白(空白行)になるまで シート2に登録番号・所属・氏名を表示させ 番号ごとに印刷をしたいと思っています。 シート2に番号1の内容(登録番号・所属・氏名)を表示させ印刷し、 印刷後、シート2に番号2の内容を表示させシート2印刷し、 印刷後、シート2に番号3の内容を表示させシート2印刷し、 番号行が空白になったらこの処理を終了するというマクロを作りたいのですが、 どのようにしたらよいですか。 初心者でよく分からないのですが。 皆さん教えて下さい。 【シート1】 番号 登録番号 氏 名 所属学科 職名 1 00001 田中 健太 機械工学科 教授 2 00201 音   光 機械工学科 講師 3 01525 鈴木 洋  機械工学科 助手 【シート2】 番号 登録番号: 所属: 氏名:

  • エクセルマクロで印刷範囲の設定

    エクセルのsheet1に表があります。 この表を印刷ボタンを押すだけで印刷できるようにしようと思います。データの最後の行までのページを印刷できるようにするマクロを教えてください。 ちなみに、今ある最後のデータより下の行もずっと罫線が引いてあります。 また、印刷だけだったら普通に 印刷>ページの指定 でできるよと思われるかもしれませんが、その他の機能もマクロでつくっている最後の段階なのでマクロでお願いいたします。 分かりにくい文章ですがよろしくお願いします。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

専門家に質問してみよう