• 締切済み

エクセルで特定も文字が含まれている行のみ選択

いつもお世話になっています^^ エクセルで、特定の文字が含まれている行以外を非表示にしたいです。 このカテゴリーで、削除するトピは見つけたのですが・・ 特定の文字は、複数列にまたがっております。 宜しくお願いします。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

すみませんでした。勘違いしているかも 先のコードでは、特定の文字が含まれないセルがあれば、行を非表示ですね。 If WorksheetFunction.CountIf(Rows(Rs.Row), "*" & Myname & "*") = 0 Then Rs.EntireRow.Hidden = True では如何でしょうか? 範囲の各行の中に、特定の文字がその行に含まれないなら非表示。 A列で上から順に検査するとして Sub Macro2() Myname = InputBox("検索文字") i = 1 Do While Cells(i, 1).Value <> "" If WorksheetFunction.CountIf(Rows(i), "*" & Myname & "*") = 0 Then Rows(i).EntireRow.Hidden = True i = i + 1 Loop End Sub こんなのも参考になりませんでしょうか。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

一応、参考です。 処理したい範囲を選択して。以下、マクロを実行 InputBoxが表示されたら特定の文字を入れます。 Sub Macro1() Dim Rs As Range Myname = InputBox("検索文字") For Each Rs In Selection If Not Rs Like "*" & Myname & "*" And Rs <> "" Then Rs.EntireRow.Hidden = True Next End Sub

momoyasann
質問者

お礼

ご回答有難うございました。

momoyasann
質問者

補足

有難うございます。。 やってみたのですが、(適当にaとかb等を入力し) 入力されている行がすべて非表示になってしまうような気がします。 If Not Rs Like "*" & Myname & "*" And Rs <> "" Then Rs.EntireRow.Hidden = True が読み解けないのですが・・・ もうちょっと頑張ってみます>< 本当にありがとうございます!

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> ワンクリックで表示できるようなマクロが 仮にA1からA500までのデータのうち a という文字が含まれている行以外を非表示とするなら以下のようにできるという一例です。 Sub test01() Dim c As Range Columns("A:A").EntireRow.Hidden = False Application.ScreenUpdating = False For Each c In Range("A1:A500") If Not c.Value Like "*a" Then c.EntireRow.Hidden = True End If Next c Application.ScreenUpdating = True End Sub

momoyasann
質問者

お礼

ご回答有難うございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

関数で作業列いれるとわかりやすいかと 例えば A~D列に あ の文字含んでいるかの判断 E列にでも =COUNTIF(A1:D1,"*あ*")  下までコピィします。 >特定の文字が含まれている行以外を非表示にしたいです。 は、含まれる行を表示(含まれていない行を非表示)ですよね。 オートフィルターで E列が1以上を表示させては如何でしょうか。

momoyasann
質問者

お礼

ご回答有難うございました。

momoyasann
質問者

補足

ご回答有難うございます!! すみません、私以外の人も使うので できれば、ワンクリックで表示できるようなマクロが 組めたらと思っています。

関連するQ&A

専門家に質問してみよう