2016-08-09 4 views
0

column A値に基づいてテーブルをフィルタリングするマクロがあります。今私はの後に表示される行をフィルタの後に印刷したいが、悲しいことに、それはフィルタ中に隠されていた上部と下部の行を含むすべての行を印刷します。フィルター後に可視領域を印刷するマクロ

私のシートには、Column A:Iのデータがありますが、印刷領域はColumns C:I(フィルタ後の表示行のみ)にする必要があります。

ここで私はこれまで動作しませんでしたその試したコードは次のとおりです。

コード1:

ActiveSheet.PageSetup.printarea = Range("C3:I81000").Rows.SpecialCells(xlCellTypeVisible) 

コード2:

Dim lastrow As Long 
lastrow = ActiveSheet.UsedRange.Rows.Count 
Range(Cells(3, 3), Cells(lastrow, 9)).Select 
ActiveSheet.PageSetup.printarea = Selection.Address 

他の提案?

Public Sub Test() 
    Range("C3").Select 
    Range(Selection, Selection.End(xlToRight)).Select 
    Range(Selection, Selection.End(xlDown)).Select 
    ActiveSheet.PageSetup.PrintArea = Selection.Address 
    'ActiveSheet.PrintOut 
Range("C3").Select 
End Sub 

は、コマンドをプリンタに送信したい場合にのみ、「にPrintOut」行の設定を有効にしてください:

+0

フィルタリングされたデータがある場合は、**表示可能な**データのみが印刷されます。隠しデータを印刷するオプションも見つけられません。 (つまり、PrintAreaはC3:I81000のままで表示されているセルだけを選択することを心配する必要はありません)隠されたものをどのように管理しているかを知るには興味があります。 – YowE3K

+0

私はいくつかの行の下にいくつかの余分な書式があると思うので、空であっても使用された行と見なされました。だから私はそれらの行を削除し、コード1を微調整しました。ありがとう! – Eileen

答えて

0

はあなたのコードを必要とする内容に応じて、私は次のコードが動作することを確認しました。

何らかの理由により。行の「選択」は、選択行の他のオプションよりも隠れている/フィルタリングされたセルの方が効果的です。

ベスト seulberg1最後に

+0

返信いただきありがとうございます。だから、私はあなたのコードを試してみました。問題はデータだけでセルを強調していることです。私のリストにはどこにでもランダムなスペースがあるので、正しく動作しませんでした。リストの一部しか選択しませんでした。私は必要なのは、フィルタの後に一番上の行番号と最後の行番号を知ることです、そして、私は印刷範囲の範囲のためにそれらの値を使用することができます..それは理にかなっていますか? – Eileen

+0

作業中のコードが見つかりました。) – seulberg1

1

を役に立てば幸い、このコードは働きました! :) ありがとうございます!

関連する問題