• 締切済み

Excelのシートからシートへデータを移動したい

Excelのシートで作成されている申込書(シート)があり、現在はその申込書シート(セル)に記載されている情報を別のシート(顧客データとして管理しているシート、複数行存在しています)に手入力しています。 この手入力の作業をマクロか関数で簡単にしたいのですが、下記の点がクリアできる良い案が分かる方がいたら教えて頂きたいです。 (1)申込書シートは顧客データシートに情報を移動したら、都度上書きしていきたい⇒申込書シートは同じbookで管理しないため(上書きについては申込書内容を都度手作業で貼り付けするつもりです) (2)顧客データシートは顧客が増える毎に2行目、3行目・・・というようA列が空欄になっている一番上に、申込書データの内容が反映されるようにしたい。 (3)貼り付けられたデータ(セル)は関数ではなく、値(文字)が貼り付けられるようにしたい。((1)のように申込書シーは都度上書きしたいため) 分かりづらい質問で申し訳ありません。。 ちなみにマクロは作成したことがありませんが、マクロでできるのであれば挑戦したいと思っています。 ご回答よろしくお願い致します。

みんなの回答

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.1

考えかただけを言います。 申込書シートの入力エリアの外側、例えば右側に入力データを参照する式をセットします。 例えば入力データが下記のような場合は A1 名前 A2 住所 B3 商品名 B4 金額 参照式は次の式をセットします。 D1 =A1 E1 =A2 F1 =B3 G1 =B4 次に顧客データシートの構造は次のようにします A1 名前 B1 住所 C1 商品名 D1 金額 入力が終わったら次の処理をします。 最初に顧客データシートA1:D1にセルを挿入します。基のセルは下に移動させます。 次に申込書シートのD1:G1をコピー 最後に顧客データシートのA1:D1に 「編集、形式を選択して貼り付け、値 」で貼り付けます。 こうすると常に最上位には最新のデータが貼り付けられ、前のデータは2行ね以下に移動します。 以上をマクロに組んで実行すれば目的の結果になります。

urarinko3
質問者

補足

yosifuji20さん、早速回答頂きまして有難うございます。 “申込書シート”にてまず参照式を作成する考え方は直ぐに活用させて頂きます! 質問の説明不足でしたが、“顧客データシート”では最新のデータを一番下に増やしていきたいのですが、これはムリがありますでしょうか? 頂いた回答で最後に顧客番号もしくは受注日等で並び替えまでをマクロに記憶させれば、最新データが一番下にはなりそうかなとは思いましたが、もし他の考え方があれば教えてください。

関連するQ&A

  • エクセルで日毎のデータの蓄積

    シートBにその日のデータを入力し、そのデータをシートAに蓄積していきたいです。 手作業ならば、 1.入力されたシートBのその日のデータをコピー 2.シートAの同じ日付の行を探し、値のみペースト とするのでしょうが、これを自動化したいです。 セル参照だと、毎日、同じ行にデータが上書きされていくため 無理っぽいし、マクロを使わないとできませんか? コピーとペーストはできそうですけど、「同じ日付の行を探し」というところが難しそうだなぁと思いました。。。 すみませんが、よろしくお願いします。 シートA(データ蓄積用) 日付   データ 12/1   データ1 12/2 ・ ・ 12/31 シートB(データ入力用) 日付   データ 12/2   データ2 ↑日付が変われば、同じ行にデータを上書き

  • マクロでVLOOKUPを使用した複数シートのデータを一覧シートへ

    VLOOKUP関数を使用してシートを跨いでデータを一覧へもってくることができないようなので、 マクロを使用して以下のような作業をしたいです。 【Sheet1】:データベース(1)    A列  B列 1行 0001  あ 2行 0003  う 【Sheet2】:データベース(2)    A列  B列 1行 0002  い 2行 0004  え 3行 0005  お というデータから 【Sheet3】:一覧    A列  B列 1行 0001  あ 2行 0002  い 3行 0003  う 4行 0004  え 5行 0005  お を作成したい。 データベース(1)(2)は各々で全て手入力をし、 一覧のA列は予め入力しておき、B列の情報だけを一覧シートにもってくるという内容です。 (実際はセル数もシート数ももっと多いです) Application.WorksheetFunction.VLookup()を使うのかな? とは過去の質問から、なんとなく想像はつくのですが 素人なもので、例文を見てもよくわかりません・・・。 ご教授いただけると大変助かります。 よろしくお願い致します。

  • セルの値に応じてシート間をデータ移動させたい

    シート名が 「1」 「2」 「3」 「4」 「5」 という5つのシートがあります。 A2とA4にデータが入力されていて、 D4とI4に入力した値(シート名)に応じて、 マクロでシート間をデータ移動させたいのですが、 どなたかおわかりの方がいらっしゃいましたら教えて下さい。 (移動先にデータが存在する場合は上書きして問題ありません) 例) D4に「1」 I4に「3」と入力して実行すると、 シート「1」からシート「3」にA2とA4の値が移動するマクロを作成したい。

  • Excelでのシート間データ反映について

    こんにちは。 仕事上でのエクセルファイル作成に行き詰ってしまったので、お知恵を拝借させて下さい。 今回作成しているファイルは、 Sheet1にはお客様に送付する宿泊確認書のフォームが、 Sheet2にはお客様の情報(名前、Tel番号など)が 入力されています。 理想としては、Sheet2に入力したデータを Sheet1のフォームに自動反映させたいのです。 単純にSheet2からSheet1にデータ反映する方法は 分るのですが、 この場合はSheet2に数百名のお客様データが入っている為、 「Sheet2の36行目のお客様分の確認書を作成したい」時の方法が分りません。 例えば、Sheet1確認書フォームの各セルに Sheet2の列を指定しておいて、 Sheet2のどの行から情報をひっぱってくるのかを Sheet1にてその都度設定する事は可能でしょうか? 何卒よろしくお願い致します。

  • calc で参照するシートのセルを自動的にずらす

    openoffice.calc で、顧客シートを作成中です。 sheet1に、すべての顧客情報をまとめて入力し、sheet2は、sheet1のいち顧客の情報(sheet1の2行目データ)を上手く並べて個人データ票としたいと思います。 sheet2は、sheet1のそろぞれのセルを参照して作成することはできたのですが。 sheet3にはsheet1の3行目の顧客、sheet4にはsheet1の4行目の顧客というようにズラして行く場合。 sheet2で作った個人データ票をコピーして増やしても、参照セルはsheet1の2行目で、もちろんすべてがsheet1の2行目の顧客情報になってしまいます。 sheet3を作る際に、sheet2をコピーして使いたいのですが、参照セルだけsheet1の3行目に自動的にずらす方法はありませんか? ただ、項目(sheet1の1行目)だけは同じなので、これはずらしたくありません。 このような方法でcalcで顧客シートを作成する場合、どのような方法が一般的なのか教えていただければ幸いです。 よろしくお願いいたします。

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • EXCEL のマクロを作りたいんですが・・・

    マクロはあまり詳しくありません。マクロの記憶で設定し、多少内容の変更をする程度です。 マスターのBOOKがあり、月ごとにデータを入力し、その都度名前を付けて保存します。 (データの量はまちまちです) Sheet1にデータを入力し、Sheet2には関数が入っております。 使いたいのはSheet2にあるデータなのですが、データが無い欄は関数が入っていますので、そのままではデータとして使うのが面倒です。 CSVで出力するにしても、空の関数の欄が,,,,と出ます。 データが入っているセルだけを範囲指定して、値の貼り付けをし、使用していない空のセルの関数を消すというマクロが出来るでしょうか?

  • Excelにおけるシート間の比較について

    いつもお世話になっております。 Excel2003の関数(もしくはマクロ?)についての質問です。 シート1に No|管理|項目 01|5000|りんご 02|3000|みかん 03|1000|いちご とあります。 シート2に No|管理| 03|____| 01|____| (____分は未入力セル) とあった場合、未入力セルになんらかの関数を入力して No|管理| 03|1000| 01|5000| と表示させたいのです。 Noの比較まではできるのですが、それがイコールだった場合 管理の番号を入力する、というところでどんな関数を使用すれば 良いのか検討がつかなかったので質問させていただいております。 できるだけ関数でできるとありがたく、識者の方のご教授のほどよろしくお願いいたします。

  • エクセル。1行データ 別Sheet複数行列にリンク

    Sheet1は行別に顧客データをSheet2のフォーマットにリンクすることはできるでしょうか。 目的としてSheet1のデータをリスト化するためにSheet2があるようです。 現状は、個々のセルにそれぞれリンクを個別に貼り付けていて 修正を頼まれたのですが・・・。 さっぱりわからず手をつけられない状況です。 なんとか検索してみるとOFFSETやROWなどを利用すれば できそうだとは思ったのですが どうにも理解することができず、お手上げです…。 VBAを使用せずに関数だけで作ることは出来ますでしょうか。 関数式をコピーしてSheet2へのレコードを増やして行きたいです。 そもそも、作成された関数式をコピーできるのでしょうか。(7行分ずれたりはしませんか?) データとしては1-1,1-2,…1-7で桁上がり2-1…というリスト番号があります。 割り算して余りをもとめたら? と、考えれば考えるほどよくわからなくなり途方に暮れています。 わかりづらい文章で申し訳ありませんが どうかよろしくお願いいたします。

  • 複数のシートの統合について

    複数のシートの統合について 8月から社内で異動があり、データ管理を作成することになりました。 現在取り組もうとしている作業は、ネット情報等で自分なりに調べた結果、 マクロを使わなければならないと判断し、本を買って勉強しています。 しかしVBAは超初心者で、期日までに間に合いそうにありません。 どうすればよいのかわからず、質問させていただきました。 どなたかご存じの方、ご教授願います。 内容は、 複数(15枚以内)のシートを1枚の統合シートにまとめるのですが、 新規行を入力後、その都度、統合シートの最終行に自動コピーされるようにしたいのです。 シート全体を統合シートにまとめるのはArrayやループ処理等を使って出来るようになったのですが。 VBAでなくともエクセル関数でも出来るのであれば、その方法も教えていただきまいと思います。

専門家に質問してみよう