• 締切済み

Excel VBA コピー行を新しいシートへ移行

こんばんわ。 取り急ぎ教えて下さい。 Excel2007を使用しています。 シートに得意先商品名一覧があります。 得意先毎にシートわけし、シート名には得意先名としたいのですが 得意先数が多い為VBAを使用したいと考えています。 ご教授願えないでしょうか? 得意先数は都度変わります。 例>シート名:得意先一覧 A列(得意先名)     B列(商品名)  C列(単価) 得意先A         商品A      10円 得意先A         商品B      10円 得意先A         商品C      10円 得意先A         商品D      10円 得意先B         商品A      10円 得意先B         商品B      10円 得意先B         商品C      10円 得意先B         商品D      10円 得意先B         商品E      10円 得意先B         商品F      10円 得意先C         商品A      10円 得意先C         商品B      10円 ↓ ↓ ↓ シート名:得意先A 得意先A         商品A      10円 得意先A         商品B      10円 得意先A         商品C      10円 得意先A         商品D      10円 シート名:得意先B 得意先B         商品A      10円 得意先B         商品B      10円 得意先B         商品C      10円 得意先B         商品D      10円 得意先B         商品E      10円 得意先B         商品F      10円 シート名:得意先C 得意先C         商品A      10円 得意先C         商品B      10円 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

これも丸投げ質問だ。したいことだけ言っているが、何か自分でやってみたのかな。人に頼りすぎだろう。 ーー 色んな方法があるが、シートを作るVBAは フィルタオプションの設定で重複するレコードは無視するで、重複の無い会社名一覧が出る。 G列に出したとする。 例データ A列(得意先名) B列(商品名) C列(単価) 得意先A 商品A 10円 得意先A 商品B 10円 得意先A 商品C 10円 得意先A 商品D 10円 得意先B 商品A 10円 得意先B 商品B 10円 得意先B 商品C 10円 得意先B 商品D 10円 得意先B 商品E 10円 得意先B 商品F 11円 得意先C 商品F 12円 得意先D 商品F 13円 ーーー G列 A列(得意先名) 得意先A 得意先B 得意先C 得意先D ーーーー Sub test01() d = Worksheets("Sheet1").Range("G65536").End(xlUp).Row MsgBox d For i = 2 To d Sheets.Add.Activate ActiveSheet.Name = Worksheets("Sheet1").Cells(i, "G") Next i End Sub ーー この先は フィルタオプションの設定をマクロの記録でも採って考えること。 明細も要るなら、100社ぐらいなら、質問してるより、手作業でコピペした方が、結局速いはず。

関連するQ&A

  • エクセルで、条件にあう複数の行を別のシートに抽出する

    《どなたか、お教え下さい》   エクセルで、条件にあう複数の行を別のシートに抽出してまとめる。 「sheet1」の下記の基本データを「sheet2」に「得意先」ごと「日付」の早い順にまとめたいのでが。関数を使ってできないものか、どなたかお教え下さい。「マクロ」や「Access」は使用したことがないので、関数を使ってやりたいと思いますが、できるものでしょうか。よろしくお願いします。 sheet1 番号 得意先 日付 商品名 商品詳細 金額 備考 1   A 2   B 2   B 4   D 5   E 6   F 2   B 3   C 5   E   A    B  番号  得意先   1   A      2   B   得意先名は、番号を入力することで表示されるように   3   C   関数「VLOOKUP」を使って表示させるようにしていま   4   D   す。    5   E   6   F  

  • Excelで、特定の範囲を別シート/ブックへ自動でコピーする方法

    教えてください。 Excelで、営業がSheet1へ入力した内容を得意先ごとに、別シートもしくは別ブックの見積書フォーマットへ自動でコピーできるようにしたいです。 Sheet1はその月の販売一覧データを入力してもらう形です。 ■Sheet1の内容 A      B       C      D    E     F  日付   得意先名  商品名  数量   単価   金額(=数量×単価)  1/10   ●●     XXXXXX   200   3000   600000  1/10   ●●     XXXXX    100   1000    100000  1/12   ▽▽     XXXXXX    1   50000   50000  1/12   ▽▽     XXXXX     2   50000    100000  1/15   ■■     XXXXXXX   20   8000   160000 ・    ・    ・ A~F列までを、A・B列の日付&得意先別に、別シートもしくは別ブックの見積書フォーマットに値のみを書き出したいです。 ボタン1つ押すとコピーされるようなお手軽な形式を希望します。。 簡単に出来る方法があれば教えていただけますと非常に助かりますm(__)m

  • Excelで、特定の範囲を別シート/ブックへ自動でコピーする方法

    教えてください。 Excelで、営業がSheet1へ入力した内容を得意先ごとに、別シートもしくは別ブックの見積書フォーマットへ自動でコピーできるようにしたいです。 Sheet1はその月の販売一覧データを入力してもらう形です。 ■Sheet1の内容 A      B       C      D    E     F  日付   得意先名  商品名  数量   単価   金額(=数量×単価)  1/10   ●●     XXXXXX   200   3000   600000  1/10   ●●     XXXXX    100   1000    100000  1/12   ▽▽     XXXXXX    1   50000   50000  1/12   ▽▽     XXXXX     2   50000    100000  1/15   ■■     XXXXXXX   20   8000   160000    ・    ・ A~F列までを、A・B列の日付&得意先別に、別シートもしくは別ブックの見積書フォーマットに値のみを書き出したいです。 ボタン1つ押すとコピーされるようなお手軽な形式を希望します。 マクロを組む必要があると思いますが。。マクロ初心者なためとっかかりがわかりません。お勧めの本や、Webサイトがあれば教えていただけますと非常に助かりますm(__)m

  • Excel 別のシートを参照し、行のデータを列の向きに直したい

    <Sheet1> A  B  C  D   E   F ~ 1 商品名 価格 数量 割引率 合計 2  イ 3  ロ 4  ハ 5  ニ のようなデータを <Sheet2>に    A   B  C  D  E  ~ 1 商品名  イ  ロ  ハ  ニ 2  価格 3  数量 4 割引率  5  合計  のように、向きを変えて表を作り変えたいのですが、 <Sheet2>のB列に    A   B      1 商品名 =Sheet1!B2   2  価格 =Sheet1!C2 3  数量 =Sheet1!D2 4 割引率 =Sheet1!E2 5  合計 =Sheet1!F2 と入れて、オートフィルさせても、だめですよね。 当然のようにC列はSheet1!B3にならずSheet1!C2 になってしまいます。 どうすれば、良いかご存知の方、教えてください。 宜しくお願いたします。  

  • Excel VBAで項目ごとに別々のシートに転記したい

    excel VBAで項目ごとに別々のシートに転記したい 困り度: すぐに回答を! excelVBA勉強中の初心者です。 初めて質問させていただきます。 初心者には難しく、行き詰ってしまいました。 仕事で以下のことがしたく、基本書、参考書などを調べて勉強し作成していっているのですが、身近に教えていただける方もおらず、つまづいております。 詳しい作成方法など、詳しい方にご教授いただければと思います。 book(1) 一ヶ月分の売上データが入っており、     A列に取引先名     B列に商品名     C列に件数     D列に合計額     があります(1万行前後)。 book(2) シート1に抽出したい取引先名の一覧(50件ほど)、      シート2以降は転記用でA列に商品の一覧(固定)、      例えば4月分であればB列に件数、C列に金額、     5月分であればD列に件数、E列に金額・・と一年間使用するため、件数・金額は12か月分用意してあります。      シート1にある抽出したい取引先ごとに作成しています。 (1)の売上データを、(2)にあるシート1の取引先一覧と一致するものを抽出して、取引先ごとに分けてあるシートに転記したいのです。 ※(1)の売上データには抽出不要の取引先も多数含まれています。 ※(1)の売上データは同じレコードが存在する場合もありますが、すべて別々のものとみなし、転記先シートには件数・金額ともに合計を表示したい 以上です。 よろしくお願いします。

  • エクセル縦横検索

    エクセルの縦横検索で関数がわからず何日も悩んでいます。。 <Sheet1> は商品コード・ランクごとの単価表です。   A列    B列     C列   D列    E列  F列 1  商品コード 商品名  Sランク Aランク BランクCランク  2  00010001 AA-1111 10.00 11.00  13.00 14.00 3  00100022 AB-222  11.00 12.00  15.00 16.00 4  00200033 BDB-123 20.00 21.00  22.00 23.00 5  00300033 CA-111  9.00 10.00   11.00 12.00 …  ・・・ 10  01000033 OP-100   30.00 31.00  32.00 33.00 11  02000123 TD-358  10.00 11.00  12.00 13.00   以下5000行ほど続きます。 <Sheet2>は得意先ごとのランク表です。 商品群は商品コードの頭2桁目と3桁目(00、01等)でランクが決まっている為、1行目に2桁の数字を入れています。   A列        B列             C列   D列   E列 … 1                            00   01    02    10  20  2  得意先コード 得意先名/商品群  AA  AB   BDB   OP TD  3  11111    あああ            S    A     C    B  C 4  11222    いいい            A   C     B    S  A 5  12333    ううう              C    S      S    A   B 6  12444    えええ            A   A      B    C   C 7  12555    おおお            B   B     C    S  B …  ・・・   横に50列ほど続きます。 <Sheet3>は入力画面です。    A列       B列      C列   D列 1   得意先コード 商品コード   ランク  単価 2   11222     01000033    得意先コードと商品コードを打ち込むとC2にランク(例だとS)が出るようにしたいのですが、 VLOOKUP($A$2,Sheet2!,A1:Z100,MATCH(C2,Sheet1!A1:A5000,C1:F1)) とすると、アルファベットは出るのですが、ランク表どおりに出ません。01と10が同じ数字として認識されてしまいますし、2桁目と3桁目を認識する関数がわからないので、ここで止まっています。 ランクが出たら、隣の単価を求める関数もついでに教えていただけたらさいわいです。 よろしくお願い致します!

  • エクセルで列を複数行にしたいのですが

    注文表を商品ごとに集計したいのですが、商品名・数が列の入っています。これを縦にして集計しようと思っているのですが、列を行する方法を教えてください。 エクセルの表で列A・Bを共通にして列C・Dを次の行に、そして列E・Fを次の行にとしたいのですが、教えてください。 列A 列B   列C  列D 列E 列F 001 ○○会社 商品A 10  商品F 14 001 ○○会社 商品C 11  商品A 20 005 ××会社 商品D 32  商品C 25 これを 列A 列B   列C  列D 列E 列F 001 ○○会社 商品A 10  001 ○○会社 商品F 14  001 ○○会社 商品C 11  001 ○○会社 商品A 20  005 ××会社 商品D 32  005 ××会社 商品C 25 よろしくお願いいたします。

  • VBA 今日の行にあるセル コピー 別シートへ

    (1)sheet1にボタン button1 があり、そのボタンを押すと、マクロが起動する。 (2)データは sheet2 貼り付け先は sheet3 sheet2 F列に日付が入っています。   F列は、日付(過去~本日まで ※未来の日付はありません)か、空白の場合があります。 F列の日付が本日のとき、 sheet2 A列のセルの値を sheet3 B列へ。  A列には連番。 sheet2 D列のセルの値を sheet3 C列へ。 sheet2 G列のセルの値を sheet3 D列へ。 sheet2 F列のセルの値を sheet3 E列へ。 それぞれ、Sheet3の各行の一番下に貼り付ける形をとりたいのです。 こちらでマクロはどうしたらよいのでしょうか。

  • 《エクセル》リストから同じ分類のデータのみコピーする

    いつもお世話になります。 別のシートに、下記の形のリストがあります。  列A   列B   列C   列D (商品名)(大分類)(中分類)(売上金額)  商品A   あ    A    1000  商品B   あ    B    900  商品C   い    A    800  商品D   あ    A    700  商品E   あ    C    600  商品F   あ    F    500 マクロを組んで、このリストの大分類が"あ"、中分類が"A"に該当する商品名と売上金額のみをコピーして、今開いているシートの列A・列Bに連続したデータとして貼り付けたいのですが、うまくいきません。 ご教授宜しくお願い致します。

  • エクセル 複数行ある同一商品を1行にまとめるには?

    同一内容が入力された複数行の合計を出す方法を教えてください。     エクセルの表でA列に商品名、B列に色の種類、C列~E列にサイズごとの個数がある、まったく同じ商品が、複数行にランダムに掲載されています。 A列、B列で同一の情報を持つ商品について、C列~E列のサイズごとの合計を出したいのです。 例)商品名、色、サイズ個数(C列:Sサイズ、D列:Mサイズ、E列:Lサイズの順です。) A1:Tシャツ B1:ホワイト C1:5 D1:4 E1:3   A2:Tシャツ B2:ブラック C2:3 D2:5 E2:5 A3: Tシャツ B2:ホワイト C3:3 D3:3 E3:2 A4: Tシャツ B2:ブラック C4:3 D4:2 E4:3 各商品が300行程あり、オートサムではやりきれません。 すべての各商品(A列、B列が一致するもの)を1行ごとにまとめたシートを作成するにはどうしたら良いでしょうか?

専門家に質問してみよう