• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答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