- 締切済み
VBAでの他のシートにコピー
今sheet1へ、sheet2とsheet3のデータをコピーしようとしています。 sheet1は見出しが2行目にあり、3行目からsheet2をコピーしようとしています。 そのつぎに、sheet3はsheet1にsheet2のコピーした次の行からコピーします。 sheet2 A B C 3 鈴木 りんご 5 4 山田 バナナ 1 sheet3 A B C 3 大羽 メロン 2 4 鷲尾 スイカ 1 ↓2行目まで見出しがあるsheet1に sheet1 A B C 3 鈴木 りんご 5 4 山田 バナナ 1 5 大羽 メロン 2 6 鷲尾 スイカ 1 このとき、シート2とシート3は数は決まっていません。 そして、数が0のときもあるので「sheet2とsheet3にデータがないときはコピーしない」 をというふうにしたいのですが、どのようにすればよろしいですか? VBAで行いたいです。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- hige_082
- ベストアンサー率50% (379/747)
- imogasi
- ベストアンサー率27% (4737/17068)
- kazuho_goo
- ベストアンサー率56% (34/60)
- chie65535
- ベストアンサー率43% (8546/19426)
- kybo
- ベストアンサー率53% (349/647)
関連するQ&A
- excellVBAで、シートからデータを移す方法
複数のシートから、データが被らないようにコピーする方法を探しています。 ・コマンドボタンを押すと、シートA、シートB、シートCの全データをシートDにコピーする ・ただしデータが被っている行は、1度しかコピーしない 例として、以下のようなシートがあるとします。 ・シートA 品目 価格 日付 りんご 100円 4/13 バナナ 80円 4/10 スイカ 200円 5/10 メロン 300円 5/21 なし 120円 5/23 ・シートB 品目 価格 日付 メロン 300円 5/21 バナナ 80円 4/10 りんご 100円 4/22 ・シートC 品目 価格 日付 スイカ 200円 5/10 なし 150円 4/23 コマンドボタンを押すと上の3シートから、シートDに以下のデータが転記される 品目 価格 日付 りんご 100円 4/13 バナナ 80円 4/10 スイカ 200円 5/10 なし 120円 5/23 メロン 300円 5/21 りんご 100円 4/22 なし 150円 4/23 このような動作をしたいのですが、どのようにするのが効率良いでしょうか? 今のところ私は、 1、シートAのデータの入っている行を全てシートDにコピーする 2、シートBの1行目から順に、コピー済みの全行と比較して被っているかチェック 3、被っていない行はシートDにコピー。 4、シートCの1行目から順に、コピー済みの全行と比較して被っているかチェック 5、被っていない行はシートDにコピー。 という動作しか思いつかないのですが、どうも効率が悪い気がしてなりません。 何か良い方法はないでしょうか。 ちなみにデータの入っている列は全シート5列で固定(正式名、品名、価格、サイズ、日付の5列) 行はシートによって異なり、50行~20000行くらいです。 説明が分かりづらいかも知れませんが、よろしくお願い致します。
- ベストアンサー
- Visual Basic
- エクセルのシート名参照関数
エクセル関数でいろいろ試したのですがうまくいかず困っています。 VBAは出来ないので(苦手なので)できましたら関数で教えてください。 12年1月~12年12月で別々のシートがあり、それぞれ別の『行』『列』に参照をしたい数字があります。 集計シート名『Sheet1』の『A1』に『検査値』、『B1』~『B12』に『12年1月』~『12年12月』、『C1』~『C12』に『該当する値』を表示したいと思います。 具体例 <シート名 : Sheet1> ---A-----B----C 1 リンゴ 12年1月 値 2 -----12年2月 値 3 -----12年3月 値 4 -----12年4月 値 5 -----12年5月 値 <シート名 : 12年1月> ---A----B 1 リンゴ 100 2 バナナ 50 3 メロン 10 4 スイカ 5 5 ミカン 1 <シート名 : 12年2月> ---A----D 1 パイン 10 2 バナナ 20 3 メロン 30 4 リンゴ 40 5 ミカン 50 <シート名 : 12年2月> ---A----F 1 パイン 10 2 バナナ 20 3 スイカ 30 4 リンゴ 40 5 ミカン 50 <シート名 : 12年3月> ---A----C 1 パイン 1 2 レモン 10 3 リンゴ 100 4 メロン 1000 5 イチゴ 10000 上記<シート名 : Sheet1>の『C列』に式を入れ、それぞれのシートから『A1』に該当する値を表示させたいと思います。 文書が下手ですのでわかりにくい内容で申し訳ありません。
- ベストアンサー
- その他MS Office製品
- C列の要素によって、3枚のシートに振り分ける
シート1に顧客の名簿がずらっと一覧で入っているとします。 例えばA列…名前、B列…住所、C列…買った物(いちご、メロン、すいかの3種類)、D列…備考 A列 B列 C列 D列 山田太郎 山梨県 いちご 新規さん(5月) 鈴木良子 北海道 メロン - 田中浩史 東京都 すいか 常連さん 高橋幸恵 京都府 すいか - 本田一郎 長崎県 バナナ - … というような一覧が数百人分入っているとします。 これをC列の要素によって、シート2~4に自動的に振り分けたいのです。 例えば「シート2」は「いちごを買った人一覧」に、「シート3」は「メロンを買った人一覧」にしたい、 それが、C列に「いちご」などと入力した瞬間に自動的にシート2に反映されるようにしたいです。 もちろんA列やB列、D列の要素をともなったまま。 また隙間を空けずにいちごを買った人が全部で52人なら52行でぴたりと収まるようにしたいです。 そのためにはシート2(もしくは3~4)のC列に、何らかの関数を入れればいいでしょうか? またどんな関数を入れたらいいでしょうか。 よろしくお願い申し上げます。
- 締切済み
- Excel(エクセル)
- EXCEL VBA 複数シート選択の方法(VBA)
エクセルのシート選択方法について教えてください。 選択対象シート数は4つ(シート名は、「りんご」「みかん」「ばなな」「すいか」とします) シート名「表紙」のセルは A1:りんご A2:みかん A3:ばなな A4:すいか となっており、使用者はB1~B4セルに「○」「×」を入力し、 「○」となっているシートのみ選択出来るようにしたい。 シート名が「sheet1~4」のように連続するシート名である場合や、 ひとつの条件に当てはまるシートを複数選択する方法は 他サイトでも見つけることが出来たのですが、このような場合は どのようにすれば良いのでしょうか?
- ベストアンサー
- オフィス系ソフト
- sheet1から抽出しsheet2へコピーをVBAで
VBA初心者です。色々本など見たのですがどうして良いか判らず質問させて頂きます。 sheet2のA1にデータを入力したら、sheet1のA列に同じデータがあるかどうか探してある場合は、その行をsheet2の6行目からコピーをさせたいのですが、 (1)sheet1のデータは下に追加していきます。 (2)sheet2のデータ貼り付けは詰めて貼り付けていきたい。 sheet1 A B C 1 - - - 2 - - - 3 - - - 4 社名 商品名 入荷数 5 A社 ○ 10 6 B社 △ 5 7 C社 ■ 20 8 A社 × 30 9 D社 ○ 10 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ sheet2 A B C 1 A社 - - 2 - - - 3 - - - 4 - - - 5 社名 商品名 入荷数 6 A社 ○ 10 7 A社 × 30 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ -はブランクセル 色々試したのですが、sheet2にコピーはされてもブランクの行が詰まらないなど上手くいかないため教えて頂きたく質問させて頂きました。 宜しくお願いいたします。
- 締切済み
- オフィス系ソフト
- excelでシートから別シートに抽出する方法
データシートに A B C 佐藤 りんご 25個 木村 オレンジ 3個 伊藤 メロン 12個 伊藤 スイカ 2個 佐藤 イチゴ 40個 佐藤 マンゴー 8個 というデータがあったとします。 それを別のシートに A B C 佐藤 りんご 25個 イチゴ 40個 マンゴー 8個 また別のシートに A B C 伊藤 メロン 12個 スイカ 2個 といったようにAに佐藤とか伊藤とか入力するだけでB、Cが自動で抽出できるようにできますか? 出来れば関数の入力でやりたいのですがわかる人がいましたらご教授ください。
- ベストアンサー
- オフィス系ソフト
- EXCEL:抽出・シートに分散させる方法
下記の様なデータを元に、各担当者別に用意された売り上げ表の雛形に表示させたい(指定した項目を指定したセルに)のですが、 実現出来る関数はありますでしょうか? オートフィルタ>コピペではなく、毎月の処理になるので自動的に出来る様にしたいのですが。 顧客名 担当者 商品名 金額 A社 佐藤 バナナ 100 B社 鈴木 バナナ 100 C社 田中 メロン 100 A社 佐藤 バナナ 300 A社 佐藤 リンゴ 200 C社 田中 メロン 100 これを↓ Sheet 佐藤 顧客名 商品名 金額 A社 バナナ 100 A社 バナナ 300 A社 リンゴ 200 ------------------ Sheet 鈴木 顧客名 商品名 金額 B社 バナナ 100 ------------------ Sheet 田中 顧客名 商品名 金額 C社 メロン 100 C社 メロン 100 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA 別シートにカウントした結果を表示したい
VBA初心者です。 シート1で指定した単語をシート2にカウントした数を表示させたいです。 シート1のA列に100種類近い単語が縦に並んでいます。(重複している) 「りんご」「バナナ」「メロン」様々な単語があるとします。 シート2にはA列を横にした「りんご」「バナナ」「メロン」が並んでいます。(重複削除している) そのりんごなどの下に、リンゴがいくつか、バナナがいくつかをシート1からカウントした結果の数字を入れたいです。 今のところ、COUNTIFで単語を指定しているのですが、文言が増える可能性もあります。何かほかに案がありますでしょうか。 よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- エクセルで範囲内のデータを別シートにうつしたい
エクセルで特定の範囲内の数値にあてはまるデータを別のシートに新たな表として作成したいのですが、簡単な方法があれば教えてください。 例えば Sheet1 A B C 1 25 ミカン 3000 2 30 リンゴ 4500 3 5 メロン 9800 4 17 ブドウ 1800 5 50 バナナ 1000 このようなデータを次のような表にしたいのです。 A列の数値が10~30のみ行ごと抜粋する Sheet2 A B C 1 25 ミカン 3000 2 30 リンゴ 4500 3 17 ブドウ 1800 よろしくお願いいたします。
- 締切済み
- Windows 8
- VBA 他シートを参照しているセルのコピー
お世話になります。 以下のシートがあります。 [sheet a] A B C D E 1 2004 2005 2006 2007 2008 2 =b!A2 =b!C2 =b!E2 =b!G2 =b!I2 3 10 15 16 4 11 4 12 30 20 9 2 5 =SUM(A3:A4) =SUM(B3:B4) =SUM(C3:C4) =SUM(D3:D4) =SUM(E3:E4) [sheet b] A B C D E F G H I J 2004 2005 2006 2007 2008 1 あ1 い1 う1 え1 お1 か1 き1 く1 け1 こ1 2 あ2 い2 う2 え2 お2 か2 き2 く2 け2 こ2 ・・・・・・・・・ [sheet a]F列以降に入れるデータは、VBA(マクロ)を使って、別のブックから取り出しています。 (例) F1…=E1+1(E1の数式をコピー) F3,F4…任意の値(別のブックからコピー) F5…=SUM(F3:F4)(E5の数式をコピー) 1行目,5行目の場合は左のセルをコピーして数式を貼り付けると、列が自動的に列が変わりますが、2行目の場合は元のシートを1行おきに参照しているので、単純にコピーしただけでは正しい数式が入りません。 2行目の参照をVBAで作るには、どのようにしたらいいでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト