• ベストアンサー

Excelで文字を入力と自動的にフィルタをかけたい

お世話になります。 A1~A100に文字が入力されています。 ある場所で、フィルタをかけたい文字を入力すると自動的にフィルタが 掛かるようにしたいのです。 ※フィルタの対象は複数 ※フィルタをかけたい文字が都度かわるので、毎回フィルタの機能を使うのは面倒なため、フィルタの機能は× フリーソフト、マクロ(できれば実装まで)でも結構ですので、何卒よろしくお願い申し上げます。

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

とりあえず、質問中の矛盾を指摘させていただきますね。 > ※フィルタをかけたい文字が都度かわるので、 > 毎回フィルタの機能を使うのは面倒なため、フィルタの機能は× のであれば、 > 自動的にフィルタが掛かるようにしたい 不可能です。 フィルタの機能を使わないでフィルタをかけるのは、 いかにエクセルと言えど、マクロを使うと言えど、無理なものは無理です。 だから、回答がつかないのです。 さてさて現状の確認ですが、 横に項目がいくつか並んでいて、縦にデータ行が並んでいる、 いわゆる一般的なエクセルの表で、 このある項目に対してフィルタを掛けたい、と言うイメージで良いですね。 これを前提に話を進めます。 例えば、データ表がA3:D50の範囲に用意されていて、 キー項目列から抽出したい文字列をB1セルに入力しました。 この文字列を基にA列にフィルタを掛けたいものとします。 そうすると、以下のコード Sub FilSet()   If Range("A3").AutoFilter = False Then     Range("A3").AutoFilter   End If   Range("$A$3:$D$50").AutoFilter Field:=1, Criteria1:=Range("B1").Value End Sub これを実行すると、B1の文字列(値)に従ってA列にフィルタを掛けます。 フィルタを解除する機能も必要でしょう。 それは以下のコード。 Sub FilReset()   If Range("A3").AutoFilter = True Then     Range("A3").AutoFilter   End If End Sub これでフィルタを解除できます。 これらを標準モジュールやブックモジュール、シートモジュールに貼り付けて、 図のようにボタンを作っておくと便利と思います。 このB1セルに入力規則→リストを設定しておけば ドロップダウンから選択→フィルタの一連の動作をマウスで行う事も可能でしょう。 どちらにしても、フィルタの処理をしたいなら マクロを使うにしてもフィルタ機能を使わないと実行できません。 なお、マクロの設定方法は別途お調べください。 Webで検索すると懇切丁寧に解説しているサイトがゴロゴロしていますので。

関連するQ&A

  • Excelのセルに文字入力をしたら自動で文字が入る

    Excel2002についてお尋ねします。 セルA1にたとえば、「東京」と入力して確定をしました。 次にセルA2に「と」と入力をすると自動で「東京」と入ります。 もちろん別の文字を入力したいときは、無視をしてそのまま別の文字を入力をすれば問題ないのですが、少々邪魔な便利な機能のように感じます。 そこで質問です。 A)この、ひらがなを一文字や二文字を入れると自動ですでに入力されている文字を入力する機能を無しにできますか? B)この自動で入力される機能は、ブックを保存後、再度開いたときも自動で入力される機能は引き続き有効なのでしょうか?

  • エクセルの自動入力

     いつもお世話になります。今回は、2000のエクセルの自動入力について質問させていただきたく書き込みさせていただきました。小生は、会社で会計係から配布されたエクセルの雛形を使っていつも収支出の入力を行っていました。ところが先日どこかをいじってしまったようで、具合が悪く困っております。  先日までは、セル1Aに入力した数字が5A、10Aという風に一番上のセルに入力すると同じ数字が自動的に入力されるという設定になっておりました。ところが、先日より自動で入力されず、再計算という風に表示されるようになってしまいました。Ctrlで選択して入力しようと思いましたが、毎日毎回選択して入力するのも面倒でどうして良いか迷っております。どうか、ご回答のほどよろしくお願いします

  • エクセルで1行に入力文字数制限と自動改行

    エクセルにて入力フォームを作成しているのですが、1行に対する入力文字数の制限とそれをオーバーした場合に自動で改行するマクロを知りたいです。 例えばA1セルに30文字で入力制限しそれ以上の入力があれば自動でA2セルに改行するというようなものです。 入力フォームなので複数行にわたってしまうため、A1セルのみではなくその下のA2セルA3セル...と複数の指定セルで同じ作業をさせたいです。 入力する際は全角半角が混在してしまうので、合わせて30文字ではなく半角は0.5文字というようにしたいです。 またセルは結合して作成しているのでJustifyは使えませんでした。使えたら楽だったんですが。それとも使い方間違えたかな。。。 いろいろと探してみたのですが、ちょうど自分の作りたいものに合うものが調べられず質問しました。 ご教授いただけると助かります。

  • EXCELで特定文字を検索後セル移動、文字入力

    お世話になります。 エクセルで、特定文字を検索し、その4つ右のセルに特定文字を入力する マクロを教えていただけませんでしょうか? A A B B ↓ A□□□文字A A□□□文字A A□□□文字B A□□□文字B □は空セル なお、文字は複数あり、その複数文字に対して別文字になります。 おわかりの方よろしくお願いします。

  • EXCELの文字入力について

    仕事の際に複数の画面を見ながら、 EXCELにDATAを入力することが多いのですが、 セルに文字を入力している最中に、 画面を切り替えてしまうと、 戻った時にセルが入力モードでなくなっており、 そのまま続けて入力すると上書きになってしまいます。 画面切り換えて確認した後は、 都度マウスでクリックしてから、 続きを入力していくのですが、 これが結構面倒で・・・ 画面を切り替えた後でもボタン一つでセルの続きから、 入力が出来るような方法はありませんでしょうか?

  • excel 2003 オートフィルタ!

    excel 2003で、オートフィルタがうまくいきません。 A列の2行目から、1~5までの数字がランダムに並んでいるとします。 A1セルをオートフィルタし、 条件を、オプション>3を含む で指定すると、3がフィルタされてほしいのですが 1つも抽出されません。 3で始まるもだめでした・・ フィルタで抽出するマクロをくんでいて 列は、20列以上あり、 列によって、文字や数値があります。 フォームで列を選び、検索文字を入力して Criteria1:="=*" & 検索文字 & "*", Operator:=xlAnd と言う感じでフィルタしています。 文字はできますが、数値ができないのは、なぜでしょうか・・・

  • Excelの入力方法について

    しばらくその機能を使っていなかったので使い方を忘れてしまいました。 バージョンは2003です。 セルに文字を入力してEnterを押すと 登録していた文字が追加されるという機能なのですが やり方を教えてください。 例えば名簿の入力で住所を入力する際、 全ての人が東京都の人であれば、毎回東京都を入力するのが面倒くさいので 東京都を登録しておくと、○○区と入力してEnterを押せば自動的に東京都○○区となる機能です。

  • Excelで入力文字を自動変換しないようにしたい

    エクセルで自動変換しないようにしたいです。たとえば、「2011-02-09」と入力すると自動的に「2011/2/9」と変換されますが、この機能を完全にオフにしたいのですが、設定方法をご存知の方いらっしゃいませんか? セルの冒頭に毎回「'」を入力したり、入力後にセルを選択して「セルの書式設定」で変更するのではなくて、最初から変換しないようにしたいのです。 「ファイル」-「オプション」でそれらしきものを探したのですが、見当たりませんでした。 この機能をオフにすることは、不可能なのでしょうか? よろしくお願いします。

  • Excelで、特定のセルに入力した文字列に、自動的に指定した文字が追加

    Excelで、特定のセルに入力した文字列に、自動的に指定した文字が追加されるようにする関数はありますか? 例えばA1に、123-4567と入力してエンターを押せば、自動的に文頭にAが付与されて、A123-4567となり、 B1に、abcdefと入力してエンターを押せば、自動的に末尾に-001が付与されて、abcdef-001となるようにしたいのです。 処理上必要なので毎回手入力しているのですが、付与すべき文字列が入力欄ごとに決まっているので、自動的に処理できたら楽なのにと常々考えています。 ものぐさで申し訳ありません。知ってらっしゃる方お願いします。

  • フィルタオプションをマクロで

    1 テキストを読み込んで並べ替えなどして   表(1行目はタイトル)を作り、   フィルタをかける(マクロ) 2 フィルタオプションで必要なデータを抽出   その際に日付を手入力する   (例  A列(毎回決まった列)     2005/4/1以上 降順) 3 その後の作業(マクロ) このように1のマクロを起動して その後 2を手作業して 更に3をマクロを 起動すると言う方法をとっていますが 2の内容もマクロで作って 「日付」だけを 入力するように求められて それを入力するだけで その後の作業も自動で行うことは出来るでしょうか?

専門家に質問してみよう