• ベストアンサー

フィルタでデータを選択して、データが0件の場合印刷しない

エクセルのシートで、フィルタでデータを選択して、データが0件の場合印刷しないマクロはどのような記述ですか

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

(例データ)A1:B7 値1 値2 as as df df1 gh ghs hj hj gh ghs op sss (条件)A10:B11 値1 値2 gh ghs (コード) Sub test01() Range(Cells(1, "A"), Cells(7, "B")).AdvancedFilter _ Action:=xlFilterCopy, _ CriteriaRange:=Range(Cells(10, "A"), Cells(11, "B")), _ CopyToRange:=Range(Cells(13, "A"), Cells(20, "B")), _ Unique:=False If Cells(14, "A") = "" And Cells(14, "B") = "" Then MsgBox "該当なし" Else MsgBox "該当あり" 'Range(Cells(10, "A"), Cells(20, "A")).PrintOut End If End Sub (結果)A13:B15に 値1 値2 gh ghs gh ghs 範囲指定は実際の場合、適当に修正してください。 結果、「該当あり・なしのサイン」や「件数を返す」と言うのはないようなので、答えがセットされるべきセルの値ををチェックするより他ないのではと言うのが結論です。

kabarabana
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

フィルタ処理実行後に対象列を調べて、最終データ行=タイトル行なら実行しないとか、、、 例)1行目がタイトル行で、A列でオートフィルタを実行した場合 Sub test()  '何らかのフィルタ処理  If Activesheet.Range("A65536").End(xlUp).Row = 1 Then Exit Sub  MsgBox "OK" End Sub

kabarabana
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルでデータがあるシートだけ印刷するマクロ

    エクセルのマクロで印刷するマクロを使っていますが、5つある ワークシートを全て選択して印刷するマクロでこれをデータ(数値)が 入っているワークシートだけ印刷するマクロにしたいのですがどのようにすればいいのでしょうか?

  • エクセルの数件のデータを表に印刷したい

    シート1の一行分のデータをシート2の表に表示されるように設定しています。 (=でシート1のセルを指定するとゆう超単純な物です) そのデータとゆうのは、何件もあるのですが、 今は、一件づつインプットして印刷、を繰り返して処理してます。 それを何件ものデータを一気に表に反映させて印刷する事は出来ますか? あと、その表とゆうのは、A5サイズですが、印刷用紙はA4なので、 出来れば、A4用紙に二件分、印刷したいのですが・・ 恐らく、マクロとかVBAなどといった物を駆使すれば出来るのでしょうが、 過去の質問等、かなり閲覧したものの、無知な私には何を書いてるのかさえも、 ほとんど分かりませんでした。。 別シート間のセルを=で指定出来る事も、今回初めて知ったぐらいです。 エクセルの知識は表計算など、超基本的な事しか分かりません。 何がアドバイスあれば、ご教授下さい。宜しくお願いします。

  • Excelで表に任意データを入れたい

    いつもお世話になっています Excelで悩んでいるところがあるので、ご教授をお願いします。 ExcelにシートA,シートBを用意 シートAに表を作成しまして (例) | 名前  | 備考  | | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| この表は1ページで30行分の名前データが綺麗に収まる表です。 別シートBに百数件の名前だけのデータが入っています。 (A列に数十件、B列に数十件とデータは複数列にわたって入っています) ※今はこのデータの形式ですが、データの持ち方はある程度妥協できます シートBの任意の名前データだけ複数選択し、シートAの形を使って印刷をしたいと考えています。 この時、選択したデータ件数によってはシートAの表は複数枚に渡って印刷される必要があります。 これを実現したいのですが、どのようにすればよいでしょうか? マクロでやるのか、はたまたマクロを使わずともできるのか・・・ 差し込み印刷のような感じでできないかと調べてはいるのですが、解決できそうな情報がみつかりません。 これを実現できる方法を分かる方がいましたら、お願いします。 マクロでという場合は、VBAの記述は初心者ですのでポイントだけでも詳しく教えて頂けると嬉しいです。 よろしくお願いします。

  • エクセルのデータをまとめて印刷

    一つのフォルダの中に複数のエクセルのデータがあります。さらにその一つ一つに複数のシートがあります。 このフォルダ下のエクセルデータ(全てのシート)を一括印刷したい場合どうすればいいのでしょうか? 色々調べたらそのフォルダのウィンドウの開いて、印刷したいエクセルのデータを選択して「ファイル」⇒「印刷」とすれば複数のエクセルデータを印刷できるのは分かっています。 けれど、このやり方だと全シートは無理ですよね? 何か良い方法を教えてください。 よろしくお願いします。

  • オートフィルタ後の印刷がおかしい

    おはようございます。ちょと困っていますので、どなたかご教授ください。 エクセルでオートフィルタを使い、印刷をかけようとしているのですが、印刷プレビュー時ですでに、なにかおかしいです。 100件ほどあるデータの中から、オートフィルタで3件ほど抽出しました。 抽出されたデータは、縦の番号から言うと1、99、100のデータだったのですが、印刷プレビューでみると、一枚目にタイトルと1の列。2枚目に99と100に列でプレビューされます。 実際印刷しても、2枚に分かれてしまっていました。 なんか、抽出されなかったデータが非表示というか、空白として印刷されている気がします。 1件目の下は3/4ほど空白が広がっていますし。 色々調べてはみたのですが、「条件で抽出して印刷するならオートフィルタ!」みたいな事がでてたりしますし、このような現象になった!とは書いてないみたいです。。。 パソコンとかOFFICEのヴァージョン等によっておこるのでしょうか?それとも私が根本的に間違っているのでしょうか? どなたか、教えてください。「こうでは?」とか「こうしたら?」っていう意見もお待ちしております。 原因もしりたいですが、まずは解決が先だとも思いますので。よろしくお願いします!!

  • Excelマクロ)フィルタをかけたコピーでエラー

    Excelのマクロで、フィルタをかけた列のデータ値を別シートへコピー(貼付け)する マクロを作りました。 フィルタをかけて、データ値があれば問題ないのですが、 データ値がない場合、エラーがでます。(=マクロがストップします) どうしたら回避できるでしょうか?

  • excel2003 10万件のデータ扱いたい

    お世話になります。 Excel2003でSheet1に貼り付けたデータを集計するマクロを作成しました。 が、この対象のデータが10万件近くあり、MAXの6万5千件を超えてしまっているのでSheet1に張り付けることが出来ません。 今からAccessに変更するのもちょっと大変なので・・困っています。 ちなみにExcel2007,2010にする事もできません。 無理だとは思いますがExcel2003でSheet1に6万5千件以上のデータを張り付ける方法はないでしょうか?

  • フィルター可視データのCSV出力について

    いつも助けてもらっています。 EXCELのVBAにて、 タイトル等の不要な行を削除した上で、 データが入っている行全てをCSVファイルに出力する マクロを作って使っています。 全件をそのままCSVファイルに出力するのは問題ないのですが、 オートフィルター(手操作)にてヒットしたデータのみを CSVファイルに出力したいです。 ネットでいろいろと調べると、 可視データを他のシートにコピーして・・・やる、 というやり方しか見つかりませんが、 他のシートにコピーしないで行う方法はないですか? (マクロで実行する場合です) もし可能であるならば・・・ コードの記述でなくても、 こんなやり方・・・とか、 どこか参考になる情報でもリンクしてもらえると 助かります。 よろしくお願い致します。

  • フィルタオプションとシートの保護

    Excel2003を使用して、あるシートに以下の設定を行なっています。 (1) 「入力規則」のドロップダウンリストからデータを選択入力する設定 (2) (1)で選択入力されたデータを抽出条件にしたフィルタオプションを設定(抽出先は指定した範囲) (3) 「マクロの記録」で(2)の作業を記録し、作成したマクロにボタンを作りボタンを押すと抽出を実行するよう設定 ※シート1に元データがあり、シート2が問題のシートになります。 このシートを保護し、他者に変更されないようにしたいのですが、保護をしていると抽出ができなくなってしまいます。 オートフィルタなら有効にする設定があるようですが、フィルタオプションは有効に出来ないのでしょうか? 他のシートを抽出先にせず、これらを実行したいのですが…。 何か良い方法があればご伝授願います。 尚、今回マクロを設定してはおりますが、実際に自分で記述して書くほどの知識はありません。 もしもマクロを使用しなければならない場合はお手数ですが、その詳細も教えて頂ければ幸いです。 宜しくお願い致します。

  • エクセルでマクロのページカウンタ印刷表示

    エクセル2002で,Sheetに表があります.同じ表を使用します.データは10件分入ります. 10件を超えると次の用紙に印刷をします. 印刷はマクロ命令で作成しています. 印刷の際,ページ番号をふりたいのですが どのように記述すればいいのか,わかりません. 1枚目には「1ページ」,2枚目には「2ページ」のように印刷できるとありがたいのです. どなたか,ご教授をよろしくお願いいたします.

専門家に質問してみよう