【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

急ぎの回答です!!
関数式の入っているセル(空白表示)を印刷範囲に入れずに印刷する方法を教えてください。
別シートのデータを関数で引っ張てきてひな形のセルに表示しています。

行→$1:$6 列→$A:$Agは印 刷タイトルに設定。
A列7行目から1.2.3... とNo.が入っており、
B.~J. 列7行目からはデータが最終の50まで入力してます。( 関数式=IF(COUNTIF(コード,$S$1)<ROW(A1),"",OFFSET([元リスト.xlsx]商品一覧!A1,MATCH($S$1,コード,0),1)) )

K.~AG.列7行目からは書式データ(同じ文面の繰り返です。最終の50まで入っています)B~J列の7行目から関数(データ)=IF(COUNTIF(コード,$S$1)<ROW(A1),"",OFFSET([元リスト.xlsx]商品一覧!A1,MATCH($S$1,コード,0),1))をコピぺと一部を変更しセルへ入力して別シートからデータを引っ張てきてます。この関数だと該当する値がない場合はセルは表面上は空白セルに見えますが、セルには数式が入っている状態です。セルデータの最終行を習得し印刷に設定すると関数入力されているところで最終行と認識し、関数式を入れている50行まで印刷してしまいます。

したいことは、データが表示されている30行までなら30行まで印刷という感じにはできないでしょうか?
シートを様式一枚ずつ作成しており、1ブックには20シートずつ保存しています。そしてこのブックはおよそ30ブックあります。
1ブック内の全てのシート(20シート)に反映できるようしたいです。
※30行までデータが表示されている場合、C~Jには途中とちゅうで空白欄がありますが、B列は30行全てデータの表示(該当する場合)されます。

Excel マクロ VBA に詳しい方回答お願いします!

B7からはB56まですべて関数式を入力しています(最大50までデータが表示されるように)
シート枚数と、元のデータ数が行で7000程とかなり多く、このような関数式になりました。できればマクロ、VBA等での処理が望ましいです(時間がないので><)よろしくお願いいたします!!!

「Excel マクロ・VBAの印刷方法につ」の質問画像

A 回答 (2件)

時間が無いということなので、ヒントだけ・・・私なら、マクロで行の最後に=Countを代入するように指示します。

後は、PrintAreaをそのカウント行数から取ってくれば良いでしょう。

簡単なことです。
マクロ記述の方法は、結構書ける人でしょうから、ご自身で考えれば出来るかと・・・。
頑張れ。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!頑張って勉強いたします!

お礼日時:2014/10/12 18:51

今の設定をそのまま生かしたいなら、以下のような手順で印刷範囲を関数で指定して可変にするのが最も簡単な対応です(20シートでも5~6分で設定できると思います)。



1つ目のシートで、適当な範囲を選択し、ページレイアウトタブの印刷範囲から「印刷範囲の設定」をクリックします。
次に数式タブの名前の管理で、Print_Areaを選択し、参照範囲の欄に以下の数式をコピー貼り付けします。

=OFFSET($A$6,,,SUMPRODUCT(($B$6:$B$56<>"")*1),33)

次のシートでも、上記と同様の印刷範囲の設定を行い、最終的にすべてのシートの印刷範囲を指定します(上記の数式を入力するとシートごとの数式になります)。

この状態で通常に印刷すればご希望のB列のデータ範囲だけを印刷範囲とした印刷を実行することができます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!20シート×15以上ありますがなんとかやりたいと思います…頑張ります!

お礼日時:2014/10/12 18:53

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