プロが教えるわが家の防犯対策術!

数式による空白を無視してシートを印刷したいと考えています。

フィルターで空白以外を選択→印刷範囲を選択→印刷範囲設定→印刷→フィルター解除というマクロを実行すると、重くて時間がかかってしまいました。

フィルターを使わずに、空白以外を選択し印刷をするマクロを教えて頂きたいです。
よろしくお願いします。

・列A〜Eの範囲は固定。
・行はランダムです。

「数式による空白を無視して印刷するマクロ」の質問画像

質問者からの補足コメント

  • フィルタで空白以外を選択しコピー→別シートにペースト→印刷→元シートに戻ってフィルタ解除
    という流れです。

    Vlookupを使った式が行AからEまで入ってます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/01/19 12:36
  • Range("A1").Slect
    ActiveSheet.Range("$A$1:$E$1999").AutoFilter Field:=1,Criteria1 :="<>"
    Selection.CurrentRegion.Slect

    ActiveSheet.PagesSetup.PrintArea="$A$1:$E$1999"


    これで印刷したい範囲を選択できました。

      補足日時:2020/01/20 14:24

A 回答 (1件)

その時間がかかるマクロとやらを補足にアップできますか?


フィルタや印刷範囲設定に時間がかかる要素は無いと思うのですが・・・。
もしかして、フィルタを掛けることにより、再計算されるような式とか入ってますか?
ちなみに、同様の操作をマニュアルで行った場合、どこがネックになっているか分かりますか?
この回答への補足あり
    • good
    • 2
この回答へのお礼

すみません。
ママチャリさんの返答を読んで解決できました。

フィルターで空白以外を選択した後、
印刷範囲を選択する時に
Ctlr+Shift+↓で選択していたのを
Ctlr+*で選択するとやりたいように選択して記録でしました。

Range("A1").Slect
ActiveSheet.Range("$A$1:$E$1999").AutoFilter Field:=1,Criteria1 :="<>"
Selection.CurrentRegion.Slect

ActiveSheet.PagesSetup.PrintArea="$A$1:$E$1999"

ありがとうございました。

お礼日時:2020/01/20 14:22

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A