- ベストアンサー
Excel VBA ユニークな値のリストアップ
MarcoRossiItalyの回答
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
元データのコピー&「重複の削除」機能(AdvancedFilter メソッド)をするか、「統合」機能(Consolidate メソッド)を使うか、ピボットテーブルを VBA で操作します。 >ピボットテーブルでは、ちょっと困ります。ユニーク値のリストアップは、処理全体の中で最初の1ステップでしかなく、…… 1 ステップでしかないと、なぜ困るのでしょうか。手作業またはマクロでピボットテーブルレポートを作製し、抽出されたデータをコピーなど、マクロで操作すればいいだけでは。 重複データを削除し重複のないリストを作成するマクロ-AdvancedFilterメソッド http://www.relief.jp/itnote/archives/003690.php 統合(Consolidate)でのデータ集計(Excel(エクセル) VBA入門) http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_consolidate.html ピボットテーブルをマクロで作成する http://www.relief.jp/itnote/archives/018038.php Excel 2010 で VBA を使用してピボットテーブル レポートとグラフを作成する(MSDN) http://msdn.microsoft.com/ja-jp/library/office/hh243933(v=office.14).aspx
関連するQ&A
- エクセルのVBAでリストに値をセット
Office2003 エクセルのVBAのプログラムで入力規則のリストを 生成できるような関数、方法はありませんか? このセルで選択された値に紐づいたデータ郡を次の(横の)セルで プルダウンリスト(入力規則のリスト)を自動生成するというものです。 今回フォームの機能(コンボボックスなど)は使用しません。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- VBAで入力規則のリスト参照元の値取得
エクセル2007を使っています。 VBAツールを作っており、その処理で使われる一機能として 「任意のセルに設定されている入力規則のリストの元の値をVBAで取得する」処理を コード中に書きたいと思っております。 ■質問概要 「入力規則のリスト」が設定されている任意のセルを選択したときに、そのセルに設定されている 「入力規則のリスト」の「元の値」をVBAで取得する方法について教えてください。 ※取得した値は配列型の変数に代入するものとします ■想定イメージ たとえば、次のようなブックで使うことを想定しております(画像参照) ※実際はもっとデータ量が多いブックで使う予定です ・「リスト元の値」というシートで「選択言語」という名前でリストを定義化 ・「通常操作するシート」では値を入力したいセルに対し、「入力規則のリスト」の「元の値」を 「=選択言語」で設定 VBAではこの「通常操作するシート」の入力欄のセルを選択している時に「選択言語」で定義されている データをすべて取得し配列型変数に代入するという動作をさせたいと思っています。 この方法について教えてくださいますようお願いします。
- ベストアンサー
- Excel(エクセル)
- [VBA]2つの異なるリストを1つにまとめる
こちらの識者の方々にはいつもお世話になっています。 Excel VBAの質問です。 環境は下記になります。 OS=windows7 Pro SP1 Office=Excel2010(14.0.7128.5000) 下記のような2つのExcelベースのDBがあり、一部のフィールドは重複しています。 レコードも一部重複しています。 それを一つにまとめて、DB(完成形)のようにしたいのですが、どのようなコードが適していますでしょうか? 一旦配列に取り込んで、連想配列を使って・・・と考えたのですが、新しいレコードを配列内に追加するのはいいとしても、 Filter関数では配列内の要素数までは調べられないようなので、既に存在する要素に対してあたらしい値を格納できないし・・・ となって頓挫しています。 質問に不備不足等ございましたらご指摘ください。 ご面倒お掛けしますがよろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- EXCEL VBAで、EXCELの入力規則でリストに設定された内容をすべて取得したい
EXCEL2003を使っています。 EXCELシートのあるセルに対し、入力規則が以下のように設定されています。 ・入力値の種類:「リスト」 ・データ:複数の値を直接設定(「りんご,みかん,もも」のような形式) このとき、リストに設定されているすべての値をVBAで取得したいと思っています。 入力規則で設定されている内容を取得する方法をご存知の方、ご教示いただけますでしょうか。 そもそも入力規則で設定されている内容を取得することは可能なのでしょうか。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- Excelのセルをリストから入力
Excel2000ユーザーです。 任意のセルをリストからデータ入力(選択)するように設定した場合、リストに含まれない値を入力する方法はありますか? ■現状 [データ]→[入力規則]で入力規則プロパティ画面を表示し、 「入力規則の種類」:リスト 「元の値」:リストに含めるデータ 「ドロップダウンメニューから選択する」にチェック と設定しています。
- ベストアンサー
- オフィス系ソフト
- エクセル2010 リストボックス初期値
エクセルに詳しい方よろしくお願い致します。 エクセル2010または2013で データー → データー入力規則 → データーの入力規則(リスト) でリストボックスを各行(64行)に作りました。 このリストボックスを一括(全ての行)で初期値(全ての行が同じリストの値の位置)に 戻す方法はありますか? マクロの記録では何も記録されませんでした。 どうかご教授よろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- エクセルのリストについて
エクセルの入力規則にあるリストについて質問です。 データ>入力規則から、『入力値の種類』を”リスト”にし、『元の値』を指定する際、 『元の値』の数が増える可能性があるので、ある程度多めの行を指定しておいて、 『元の値』の数が増えても入力規則の設定の変更をしなくても良い様にしたいのですが、 これをやると、リストの表示に空白セルが表示されてしまいます。 空白セルの分はリストに表示させない事は可能でしょうか。
- ベストアンサー
- オフィス系ソフト
- VBAでセルに値が入ったときにイベントを起こしたい
VBAでタイトルのことをやりたいのですがどうやったらいいのか全く思いつきません。どなたかヒントをいただけないでしょうか? B列の10行目から2000行までの間限定で、5行ごとのセルに値を入れたときに動くようにしたいんです。 例としてB10に値が入ったらA10から下に連番をふります。(1から5) B15に値が入ったらその続きを入れたいんです(6から10) どのようにしたらいいでしょうか?
- ベストアンサー
- Visual Basic
- エクセルのリスト表示につきまして
EXCEL2000の入力規則において、リストから選択できるよう 下記のように指定しました。 =INDIRECT("マスタシート!A4:A303") 上位3行目まで(マスタシートのA4からA6まで) 値があったとしたら、リストを表示させたとき、 初期の選択項目はNULLになっており、値の無い 4行目が初期の選択項目となっております。 上にずらさないと、選択できる項目は表示されません。 バッファとして303行目までとっておりますが、 全項目に値が入っていない場合の現象です。 どうすれば一番上から表示されるようになりますか? ご回答のほど、どうぞよろしくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- Excel VBAでの名前の使い方
Win7/Excel 2010で、セル範囲に名前を付け、VBAでデータを使おうと思います。セル範囲内の特定のセルの値を使おうと思いますが、方法はあるでしょうか? 行・列番号で、データを呼び出すプログラムでは、他の部分でセルの追加、削除をしたときでも、行列番号がずれてしまい、プログラムをその都度書き換える必要があります。セル範囲の名前を用い、範囲内のどの位置かを指定することができれば、プログラムを変える必要がなくなります。セルの1つづつに名前を付ければ、可能ですが、この場合、配列として取扱い難くなってしまいます。
- ベストアンサー
- Visual Basic
お礼
VBAの中でピボットテーブルや統合機能を操作するのって、コードも複雑になり、動作としてもちょっと遅くならないですかね?フィルタオプションがシンプルそうだと思いました。