| 
    
     |  | ▼vba初心者 さん: >はじめまして。
 >VBAでデータ抽出を行おうとしているのですが、
 >記録マクロでは対応できず、困っていますので
 >ご質問させていただきます。
 >
 >下記のようなsheet1のデータがあるとします。
 >-----------------------------------------
 >A   B    C    D列
 >あ   1G   123   321
 >い    2G   123   321
 >う    3G   111   444
 >
 >
 >さ   3G   2323   333
 >し   3G   555    5
 >す   1G   44     321
 >-----------------------------------------
 >
 >このデータからB列のデータで抽出を行って
 >別のシートにコピーしたい。
 >シート名は、B列で抽出した値とする。
 >例えば「3G」で抽出した場合には、シート名は「3G」となり
 >データは下記のとおり
 >-----------------------------------------
 >A   B    C    D列
 >う    3G   111   444
 >さ   3G   2323   333
 >し   3G   555    5
 >-----------------------------------------
 >
 >データは行、列ともに可変です。
 >
 >オートフィルタをうまく活用しようと考えましたが、
 >B列の値も不変のため
 >あらかじめ指定はできないので困っています。
 >
 >何かいい方法があるようでしたら
 >是非ご教授いただきたくよろしくお願いいたします。
 
 1、B列をキーとしてソートする
 
 2、B列を1行ずつ処理開始
 
 ・B列の値が前行の値と違った場合、B列の値で新規シートを作る
 ・該当行を該当のシートの最後尾へコピー
 
 3、2の処理をsheet1のデータの終わりまで行う
 
 という方針で処理を考えてみてください
 
 
 |  |