• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:いつも参考にさせて頂いています。)

Excel VBAで特定の列に特定の文字列があった場合にフィルターかけて印刷する方法

このQ&Aのポイント
  • ExcelのVBAを使って特定の列に特定の文字列がある場合にフィルターをかけて印刷する方法をご教示ください。
  • 具体的には、特定の列に地名が入力されており、その中に検索対象の文字列がある場合はその文字列をフィルターにかけて印刷を実行し、無い場合は印刷しないようにしたいです。
  • 上記のマクロを作成したのですが、希望通りの結果が得られません。どうすればよいでしょうか?

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

  • ベストアンサー
noname#157410
noname#157410
回答No.2

私が試験してみた限りは、両方ちゃんと出ましたけど。 F8を押しながら、ステップデバック確認してみてはどうでしょうか? .AutoFilterMode = False あたりで、フィルター解除になっていないのでは?

menta2000
質問者

お礼

muri123さんのお陰で解決できました。 ありがとうございます。

その他の回答 (1)

noname#157410
noname#157410
回答No.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

menta2000
質問者

お礼

muri123さん ありがとうございます。 実際に印刷してみたのですが、『東京』は正しくフィルタがかかり 印刷されましたが、『神奈川』はなぜかフィルタがかからず 白紙のまま印刷されました・・・。 なぜでしょうか・・・

関連するQ&A