• 締切済み

Excelマクロのコンボボックスについて

初めてマクロを扱います。 マクロに詳しい方、コードをご教授ください。 Excelマクロを使い下記の機能をシートに盛り込みたいと考えております。 【実現したいこと】 ・シート上にコンボボックスを作成し、コンボボックスで選択した項目で絞り込めるようにする。 ・コンボボックスに格納される項目は、A列の重複を除外し、昇順で並べ替えたもの。 ・またコンボボックスに格納する項目は日々レコード追加されるため、コンボボックスの中身にも随時反映するようにしたい。 ・コンボボックスには「全て表示」というアイテムを追加し、「全て表示」を選択すると、フィルターが解除される。 わかりにくいかもしれませんが上記のことを実現したいと考えております。 どうかお知恵をお貸しください!! よろしくお願いします!!

みんなの回答

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.4

こんばんは Excelでオートフィルターを使った場合、コピー&ペーストをすればオートフィルターをかけた結果表示されたレコードだけをコピーできます。 1.オートフィルターを書けた状態で別のシートにコピー&ペースト 2.そのセルをコンボボックスのリストにする とすればできます。 マクロを…と考える前に、上記の手順を試してください。 また、これを「マクロの記録」で覚えさせれば、サンプルプログラムの出来上がりです。 >コンボボックスには「全て表示」というアイテムを追加し、「全て表示」を選択すると、フィルターが解除される。 そのようなことも出来ますが、プログラムが少しだけ面倒になります。 チェックボックスを設けて、「フィルターを使う」「フィルターを使わない」で分岐した方がプログラムが簡単になると思います。

回答No.3

>ただ今回は運用上、オートフィルタ-をコンボボックスでさせる必要があるんです。(操作する人間が全くExcelが扱えないため) 運用が間違っていると思います。 おそらく質問者自身ではメンテできないであろうと思われるマクロをわざわざつくってもらうより、操作する人に教育することに時間を費やす方がいいと思います。 最初はかなり時間をとられるかもしれませんが、何度も同じ操作をするのですから必ず覚えられます。その方が操作するする人のためにもなります。

  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

  その実現したいことのどの部分のコードの書き方が分からないのか そしてまた、自分で書いたコードも提示した方がいいでしょう。 ところで、 http://okwave.jp/qa5181661.html これは解決しましたか? 質問者のレベルではあれやこれや一度には無理だろうと思われます。 ひとつずつ解決していったらどうでしょうか?  

  • WDY
  • ベストアンサー率28% (121/430)
回答No.1

えっと、コンボボックスに入れたい項目はどこかに格納されていて それが随時更新追加されて行くって事ですよね? 同じ列にそのデータが追加更新されて行くのであれば コンボボックスに入れないで その列をソートとフィルターを使えばマクロを組まなくても出来そうな気がしますが それでは駄目なのでしょうか?

priiin
質問者

補足

確かにわざわざマクロを組まなくてもできます。 ただ今回は運用上、オートフィルタ-をコンボボックスでさせる必要があるんです。(操作する人間が全くExcelが扱えないため) なのでコンボボックス作成は必須です。 お願いします。

関連するQ&A

  • Excelマクロのコンボボックスについて

    マクロを初めて扱います。 どなたか詳しい方、ご教授ください。 Excelのシート上にActiveXのコンボボックスを作成しました。 そのコンボボックスに「あああ」という項目を追加したのですが、「あああ」項目が一番下に追加されてしまいました。 Me.ComboBox1.AddItem "あああ" どのように書けば、コンボボックスの最上部に追加されるのでしょうか? どうかコードの書き方をお教えいただけませんでしょうか?

  • Excelマクロのコンボボックスに関して

    マクロを初めて扱います。 どなたか詳しい方、ご教授ください。 Excelのシート上にActiveXのコンボボックスを作成しました。 このコンボボックスに同じブックの別シートのA列のX行目からY行目までを格納したいと考えております。 どうかコードの書き方をお教えいただけませんでしょうか?

  • Excel VBA コンボボックスについて

    はじめまして、エクセルVBAの超初心者です。 コンボボックスを使ってマクロを組みたいのですが、どうしてで良いか分からず教えていただければと思います。 エクセルのシートに下のようなデータがあるとします A       B りんご     あおもり りんご     ながの みかん     わかやま バナナ     フィリピン コンボボックス1にAセルを重複しないようにセットして コンボボックス2に1で選択されたものをセットしたいのですが。 プロパティのListFillRangeでAの範囲を選択しても、重複してしまい、それからどうして良いのかわかりません。 どなたか教えて頂けませんか?

  • エクセル マクロ コンボボックスリスト

    sheet1の場所でボタンクリックでフォーム表示。その中でコンボボックスリストを作成。 sheet3にデーターをA列に作りました。 1)フォームの中のコンボボックスをクリックしてリスト表示させた い。マクロの記述を教えてください。 2)コンボボックスリストに表示した文字をsheet2に記録するボタンを作ったがマクロの記述を教えてください。

  • Excelで、コンボボックスで選択したとき特定のマクロを動かす

    1つのシートにコンボボックス(フォームコントロール)を2つ並べてあります。  コンボボックス”ドロップ1”   コンボボックス”ドロップ2”  【選択肢】             【選択肢】  ・1回                ・A  ・2回                ・B  ・3回 とあります。それぞれのコンボボックスの選択肢は、別のシートに名前を定義して表示するようにしてあります。 その際、上の例だとマクロを6種類用意してあります。  (1) 1回A  (2) 1回B  (3) 2回A  (4) 2回B  (5) 3回A  (6) 4回B とあり、1つ目のコンボボックスで「2回」を、2つ目のコンボボックスで「B」を選んだ場合、 (4)のマクロを実行するようにするにはどのようにしたらよいでしょうか? ※ コンボボックスは両方選ばない限りはマクロを実行させません。 また、両方既に選択してあり、そのマクロが一度実行させた後、一方だけ変更しても他のマクロを実行させたいです。 また、本件とは別の内容となっていまいますが、コンボボックスなどが”フォームコントロール”と”ActiveX コントロール”と2種類あるのですが、どのように違うのでしょうか? ちなみにExcelは2007です。ご教授よろしくお願いします。

  • エクセルのコンボボックスについて

    シート「データ」に   A  B 1 い  東京 2 ろ  千葉 3 は  埼玉 上記内容が記載されています。 それを別のシートで参照できるようにリストを作って入力規則でコンボボックスを作りました。 しかし、コンボボックスには選択肢がひとつしか表示されません。 「い、ろ、は」だけが表示されています。 でも本当は「東京、千葉、埼玉」をコンボボックスで表示し、セルには「い、ろ、は」のどれかを表示するようにしたいのです。 これをマクロを使わないでできるでしょうか?

  • Accessのコンボボックスの”すべて”検索について

    Access2000を使用しています。 検索フォームにおいて、コンボボックス内の項目を 選択し、コマンドボタンをクリックすることで検索出来 るように設定しています。 実現したいことはコンボボックス内の項目に"すべて" という項目を追加してこの"すべて"を選択して検索すると すべてのデータが表示されるようにしたいのです。 おそらく、関数やVBAを使用して設定するのではない かと思うのですが設定のやり方が分かりません。 よいアドバイスをお願いします。

  • エクセル、フォームでのVBAについて(コンボボックス)

    エクセル97でフォームのコンボボックスを使用する場合の質問です。 ワークシートにコンボボックスを10個配置しました。 入力範囲はすべて同じです。 このコンボボックスで特定の項目(入力範囲6番目)を選んだ場合、次のマクロを実行するようにしようと思っています。マクロを10個書いてそれぞれのコンボボックスに登録してもいいのですが、それよりはどのコンボボックスが使用されたか特定できればすべてのコンボボックスに一つのマクロで対応できます。 コンボボックスに番号(たとえばコンボ1~コンボ10)を振ってその番号の取得ができればいいのですが、どのように記述したらよいのか検討がつきません。 お教えください。

  • コンボボックスの貼りつけ excel

    vba初心者です。excel帳簿を作っております。 科目選択時にリストが28個あるプルダウンを使っておりましたが選択するのが大変だったのでコンボボックスにしたら28個全て表示されるようになり選択が楽になりました。 このコンボボックスのLinkedCellはD4です。 コンボボックスをD4の上に表示してD4セルにピッタリはめ込んでいる感じに見えます。 D4以下150個、D列にコンボボックスを貼りつけたいです。 コピーして貼り付けてもLinkedCellはD4のままですので、貼りつけたコンボボックスのプロパティを150回変えないといけないのかと思うと気が遠くなります。 このコンボボックスを何か登録して、「コードの表示」あたりで何かやれば何とかなるのではないかと思ったのですが、何か手立てがあれば教えてください。 このコンボボックスを同じブックの別のシートにも使いたいと思っております。

  • 【Excel・マクロ】コンボボックス・テキストボックスからのデータの入力について

    教えて下さい! 今シートにはA列に日付(2003/1/1~2010/12/31)、B列からI列の1行目には項目名が入っています。 これから行いたいことは、別マクロで表示させたフォームのコンボボックスから日付を選択し、同じフォーム上にある項目名に沿った8つのテキストボックスにデータを入力することにより、そのデータがシートに反映されるというものを作成したいのです。 データが入力される部分は選択された日付の行の、各項目名と交わる部分となります。 (例)        |あああ|いいい|ううう・・・ 2003/1/1 |    |    | 2003/1/2 |    |    | 2003/1/3 |    |    | ※上の表だとコンボボックスから2003/1/2を選択し、テキストボックス「いいい」部分にデータを入力するとC3セルにデータが入力されます。 コンボボックスにデータを表示させることは出来るのですが、そこから先(この日付を選んでテキストに入力して・・・)が出来ません。 よろしければ、記述を教えて頂きたいと思います。 宜しくお願い致します。

専門家に質問してみよう