- ベストアンサー
Excel VBAで特定の列に特定の文字列があった場合にフィルターかけて印刷する方法
- ExcelのVBAを使って特定の列に特定の文字列がある場合にフィルターをかけて印刷する方法をご教示ください。
- 具体的には、特定の列に地名が入力されており、その中に検索対象の文字列がある場合はその文字列をフィルターにかけて印刷を実行し、無い場合は印刷しないようにしたいです。
- 上記のマクロを作成したのですが、希望通りの結果が得られません。どうすればよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
私が試験してみた限りは、両方ちゃんと出ましたけど。 F8を押しながら、ステップデバック確認してみてはどうでしょうか? .AutoFilterMode = False あたりで、フィルター解除になっていないのでは?
その他の回答 (1)
参考までに、元のプログラムから変更して見ました。 Sheet1の1行目は空けておいてください。 Sub 印刷() Dim FoundCell As Object With Worksheets("Sheet1") Set FoundCell = .Cells.Find("東京都") If FoundCell Is Nothing Then Else Selection.AutoFilter Field:=1, Criteria1:="東京都" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End If .AutoFilterMode = False Set FoundCell = .Cells.Find("神奈川県") If FoundCell Is Nothing Then Else Selection.AutoFilter Field:=1, Criteria1:="神奈川県" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End If .AutoFilterMode = False End With End Sub
お礼
muri123さん ありがとうございます。 実際に印刷してみたのですが、『東京』は正しくフィルタがかかり 印刷されましたが、『神奈川』はなぜかフィルタがかからず 白紙のまま印刷されました・・・。 なぜでしょうか・・・
お礼
muri123さんのお陰で解決できました。 ありがとうございます。