みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

Excelのシートで作成されている申込書(シート)があり、現在はその申込書シート(セル)に記載されている情報を別のシート(顧客データとして管理しているシート、複数行存在しています)に手入力しています。

この手入力の作業をマクロか関数で簡単にしたいのですが、下記の点がクリアできる良い案が分かる方がいたら教えて頂きたいです。

(1)申込書シートは顧客データシートに情報を移動したら、都度上書きしていきたい⇒申込書シートは同じbookで管理しないため(上書きについては申込書内容を都度手作業で貼り付けするつもりです)

(2)顧客データシートは顧客が増える毎に2行目、3行目・・・というようA列が空欄になっている一番上に、申込書データの内容が反映されるようにしたい。

(3)貼り付けられたデータ(セル)は関数ではなく、値(文字)が貼り付けられるようにしたい。((1)のように申込書シーは都度上書きしたいため)

分かりづらい質問で申し訳ありません。。
ちなみにマクロは作成したことがありませんが、マクロでできるのであれば挑戦したいと思っています。
ご回答よろしくお願い致します。

投稿日時 - 2012-04-18 00:58:55

QNo.7427145

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

考えかただけを言います。

申込書シートの入力エリアの外側、例えば右側に入力データを参照する式をセットします。

例えば入力データが下記のような場合は
A1 名前
A2 住所
B3 商品名
B4 金額

参照式は次の式をセットします。
D1 =A1
E1 =A2
F1 =B3
G1 =B4

次に顧客データシートの構造は次のようにします

A1 名前
B1 住所
C1 商品名
D1 金額

入力が終わったら次の処理をします。
最初に顧客データシートA1:D1にセルを挿入します。基のセルは下に移動させます。
次に申込書シートのD1:G1をコピー
最後に顧客データシートのA1:D1に
「編集、形式を選択して貼り付け、値 」で貼り付けます。

こうすると常に最上位には最新のデータが貼り付けられ、前のデータは2行ね以下に移動します。
以上をマクロに組んで実行すれば目的の結果になります。

投稿日時 - 2012-04-18 10:17:41

補足

yosifuji20さん、早速回答頂きまして有難うございます。

“申込書シート”にてまず参照式を作成する考え方は直ぐに活用させて頂きます!

質問の説明不足でしたが、“顧客データシート”では最新のデータを一番下に増やしていきたいのですが、これはムリがありますでしょうか?

頂いた回答で最後に顧客番号もしくは受注日等で並び替えまでをマクロに記憶させれば、最新データが一番下にはなりそうかなとは思いましたが、もし他の考え方があれば教えてください。

投稿日時 - 2012-04-18 20:12:31

あなたにオススメの質問