• 締切済み

エクセルVBA:表の内容を分類別に振り分けたい

aacocktailの回答

回答No.2

勉強法のアドバイス。 とりあえず手でそのマクロを記録してソースをみる。 ↓ わからないとこがあったらヘルプのMEVBリファレンスを見て調べる。 これを繰り返せばいつかできる。 ぱっと見た感じ思いつくのは 値の入ったセル範囲をセレクト→魚でオートフィルタ→コピー → 貼り付け先に貼り付け → 鳥も同様に。 あるいは、分類の列をdo until ""(空白セル) で一セルごと下へループ。もしアクティブセルが魚だったら貼り付け先へ貼り付けて一つ下のセルをアクティブにして元のシート戻る 魚終わったら鳥へっていう地道なやつでもいいし。

関連するQ&A

  • エクセルVBA:表の内容を担当者別に振り分けたい

    よろしくお願いいたします。 VBA初心者です。よろしくご指導をお願いいたします。 安易に教えてgooで質問することにお叱りをいただくこともあり、 VBAの本も数冊買って勉強をはじめ、格闘していますが、手に負えません。どうか助けてください。   A     B   C   D   E    F   g  担当者  日付 商品 規格 数量  単価 備考 1山田太郎  ○  △  ■   ◎  ◇   ▼ 2鈴木次郎  ■  ○  ▼   ■  ○   ○ 3佐藤三郎  △  ■  ○   ◎  ◎   ■ 4山田太郎  ▼  ■  ◎   ■  ○   ▼ 5山田太郎  ◇  ○  ◎   ◇  ◆   ◎ 6鈴木次郎  ◆  ◎  ◇   ◎  ◇   ◇ というような入力シートの表があり、レコードは1000以上、下にたくさん続きます。 ○や▼には実際には数値や商品名、短文などが入ります。 担当者は、50名、そこで「山田太郎」をはじめ、担当者氏名の名前の50のワークシートを作成しています。 そこで、次のようなVBAを書きたいのです。 VBAを実行すると、 シート別に入力表のデータが振り分けられて、 「山田太郎」に  A  B   C   D   E    F   g 1  日付 商品 規格 数量  単価  備考 2  ○  △  ■   ◎  ◇    ▼ 3  ▼  ■  ◎   ■  ○    ▼ 4  ◇  ○  ◎   ◇  ◆    ◎ と入力シートに入力されたデータが50名のシートに振り分けられるものです。 どうか、よろしくご指導お願いいたします。

  • Excel VBAで抽出したデータを別シートに表示する方法。

     Excelで20分類された3000行くらいの商品DBシートから名前の定義を利用して分類別のリスト選択(入力規則)しています。  内容は分類シートで商品DBシートから分類列別で抽出し(関数で分類)分類列ごとに名前の定義を設定し入力シートでリスト化(入力規則)を行っております。  商品DBシートにデータを追加すれば自動的に分類シートに反映はされますが、各セルに関数が入っており、再計算が非常に時間がかかります。  VBAで効率よく分類、またはそれ以外の方法がありましたら、ご教授いただければと思います。  よろしくお願いいたします。

  • エクセルでのVBA IFを使って記述したい

    エクセルで ブック名:「魚」 シート名:「秋刀魚」「鯖」「平目」 というファイルがあります。 シート名「秋刀魚」がアクティブの時のみ セルA1に「激安」と入力をしたいのですが、どのようにVBAを記述すればよいのでしょうか。 私なりにインターネットで調べたのですがわかりませんでした。 丸投げのようで申し訳ありませんが、よろしくお願いいたします。

  • エクセルの表を自動的に、項目毎に別シートへ分ける方法

    住所録に分類をつけて、その分類毎に別のシートへコピー又は、移動を自動的にさせたいのですが、なにか良い方法がありましたら教えて下さい。まだ初心者ですが、エクセルVBAでも構いません。宜しくお願い致します。 例) 氏名 ・・ 会社名 ・・役職 ・・住所 ・・・ 分類 ○○○○ ・ -なし- ・ なし ・ あああああ ・ 1 → シート2へ ×××× ・ いいいい ・ 社長 ・ えええええ ・ 2 → シート3へ -な し- ・ ええええ ・ なし ・ おおおおお ・ 3 → シート4へ ※分割後、別シートのハガキフォームへリンクするしくみを作成中です。 上記の様に、パターンがいろいろあって、その分類毎にハガキフォームを用意して、それぞれをリンクさせようとしています。リンクの方法は、HLOOKUPを使用しています。 フォームへの宛名表示は、VBAでレコードNO指定のセル+1のプログラムを組み、これを、ボタンにマクロを登録して次のデータへ進む様に作成しています。 住所録は、登録するデータが多い為、入力の楽なエクセルで一覧(1シート)にしています。 市販のソフトやフリーソフトでは、なかなか対応出来るのがなく、ワードの差込印刷も試しましたが、1枚づつの調整が面倒でしたので、簡単なものを作成しようと思い頑張っていますが、今のところ、これしか思い付かないのですが、もっと良い方法があったらそれも教えて下さい。 説明が、下手ですみません。宜しくお願い致します。

  • エクセル この場合のVBAの書き方教えてください。

    顧客情報がsheet2にデータベース化されていて、そのシートのR列に管理上、属性によって顧客を分類する番号が1から8までそれぞれ入力されています。 教えていただきたいのは、シート1上でその分類の数字を入力すれば、別シート、例えばsheet3にそれに該当する顧客だけをsheet2と同じ書式で自動でコピーしてくれるマクロを作りたいのですが、詳しい方いましたらご面倒でしょうがVBAのコードをそのままコピーできるように書いていただけないでしょうか? 情報が不足でしたら補足させていただきますので宜しくお願いします。

  • Excel VBAでサーチを使った分類をする方法を教えてください。

    こんばんは。 下記のような名前がB列にあるとします。 ------------- こまったパンダ ころげおちたパンダ山 コンビにモンキー きっとあるよねパンダ団子・・・ 羽鳥ツバメ ------------ この文字列の中からパンダを含んだ場合、「Aパンダ」。モンキーを含んだ場合、「Bモンキー」。含まない場合は、「Cその他」とA列に分類する項目を設け、VBAで転記さたいのですが、どのように記述したらよいのでしょうか。 できればSheet2に分類表を設け「パンダ」を含んだら「パンダA」に分類というふうに出来ればベストです。 難しい場合は、考え方だけでも教えていただけると助かります。 宜しくお願い致します。

  • エクセルVBAで困ってます。

    エクセルVBAで困っています。 データ入力済みのシートが2つあります。 シート名を「Sheet1」「Sheet2」とします。 「Sheet1」のA列のデータが「Sheet2」のA列のデータと一致した時に それぞれのシートのセル番地を取得したいのですが出来ません。 教えて下さい。 データの並び順は「Sheet1」と「Sheet2」で異なります。

  • エクセル vba

    VBA初心者です。 sheet2にb1からb2、b3とデータを入力していきます。 (常に最新データが下に増えていきます) sheet1のb3へsheet2の最新データ10個を(b3が常に最新データになるよう)貼り付けしたいのですがプログラムの組み方がわかりません。 最初の1個は出るようになりました;; また10個の数字をいつでも変更できるようsheet1のb1のセルに10と入力 すれば10個貼り付け、20と入力すれば20個貼り付けなども可能でしょうか?

  • エクセルVBAでご教示ください

    シート1のB5にNo、C5に住所、D5に電話・・・・・CXまで入力したものをコピーして シート2のB列の同じNoの行に貼り付けるVBAをご教示ください。 おこないたいことは、シート2に1500ほどある台帳で、修正をのある行データをシート1に No入力で呼び出し、修正して、修正したデータを元台帳に戻すということを行いたいのです。 No入力で呼び出すVBAは何とか出来ていますが、シート2の同じNoの行に貼り付けるVBAが わかりません。 どなたか、よろしくお願いいたします。

  • エクセルでキーワードによるデータ分類をしたい

    実現したいのは、エクセルのシート1にあるデータを分類し、そのデータの横にキーワードを表示(明記)。 ・キーワードはシート2にある単語を使用することが決まっている キーワードは大中小項目に分かれていて、イメージ/例としては下記の通り 大項目(3つ) ・野菜  ・果物  ・肉   中項目(30ぐらい) ・パプリカ、ピーマン、じゃがいも、にんじん、キャベツ ・バナナ、りんご、みかん、 ・豚、牛、鶏 etc. 小項目(100ぐらい) ・黄、赤、オレンジ、緑... ・甘い、すっぱい、甘酸っぱい... ・肩、胸、挽き、バラ... ・シート1には様々なデータがあるのですが、それがシート2のキーワードのどれと関連しているのかが知りたく、まずは、大項目でデータを分類し、その大項目に関連する中項目に分類し、更に関連する小項目に分類したい ・最終的には全項目見えても、小項目だけでも構わない このような場合、どのような関数?VB?を使用すれば 簡単にキーワードを表示・選択して記入していけるでしょうか。 お知恵を拝借したく宜しくお願いします。 何かよいHPでもあれば併せて教えてください。