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

解決済みの質問

セルごとに関数保持or値を選んでコピペする方法

関数の入ったエクセルの表を作成しているのですが、作業の手順の関係で、その表をさらに他のファイルにコピペする必要が出てきました。
その際、元の表の特定のセル(複数)のみ関数の値をコピペし、残りのセルは関数を保持したままコピペしたいのですが、可能でしょうか。
セルの数がとても多く(約100個)、残したい数式が入ったセルと値をコピーしたいセルが交互に配置されていることや、実際にコピペの作業をする人間は私ではなく別の人間ということもあり、いちいちセルごとに関数の貼り付けや値の貼り付けを選んでいられません。
できるだけ少ない作業で(理想は一度のコピー&ペースト)で上記の作業をすることが理想です。
もしもそんなすごい方法があれば、教えていただけませんでしょうか。

投稿日時 - 2013-12-07 15:00:43

QNo.8376807

困ってます

質問者が選んだベストアンサー

一案ですが、一連の作業をマクロの記録で
記録してみてはいかがでしょうか。
エクセルのバージョンが分からないので2007以上だとして
リオンに開発の他タブがありますか
なければ、ファイル=>Excelのオプション=>リボンのユーザー設定
で開発にチェックを入れる
と開発のリボンが表示されます。

次に
必要な、ファイルを二つとも開いておきます。
コピー元のファイルを開いた状態で、開発=>マクロの記録
をスタートさせます。
コピー元のシートを選択
コピー先のシートを選択、貼り付け
コピー先のシートで、値を張り付けたいセルを選択、値の貼り付け
値の貼り付けのセル分だけ、繰り返す。
コピー元のシートに戻って
マクロの記録の終了

一連の作業が記録されていますので
次回は、開発のタブのマクロクリックすると
記録されたマクロ名が表示されますので、次回からはそのマクロを
実行すれば、OKです。

投稿日時 - 2013-12-07 15:54:51

お礼

ご回答ありがとうございました。

マクロ!マクロの存在をすっかり忘れていました!
(手順は資料に合わせて少し違う方法でやりましたが)マクロのおかげで解決しました。
ありがとうございます!

投稿日時 - 2013-12-07 21:22:24

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

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

回答(4)

ANo.4

 済みません、回答No.3は間違いです。
 正しくは以下の様な操作となります。

 コピー元のファイルの中の「残したい数式が入ったセル範囲」のみを選択し、Excelの置換機能を使用して、選択範囲内に存在する「=」を、例えば「゛=」(「濁点」+「等号記号」)等の様な「表示されている文字列データや、セルに入力されている関数の記述の中には含まれている恐れが無い様な文字列」に全て置換して下さい。
 その際、「残したい数式が入ったセル範囲」が例えば1行おきに存在する場合には、行ごとに選択と置換を繰り返しても構いませんし、
或いは、[Ctrl]キーを押しながらマウスの左ボタンを押して、「残したい数式が入ったセル範囲」をなぞる事で、「残したい数式が入ったセル範囲」を全て選択してしまってから、一括して置換してしまうという方法を使っても、
どちらでも構いません。
 すると、関数が(余分な濁点付きの)文字列データに変換されます。
 次に、コピー元のファイルの中のコピーしたい範囲をまとめて範囲選択してから、それをそのままコピーして、貼り付け先のファイルの同じセル番号の所に、「値のみ」を貼り付けて下さい。
 そして、コピー元のセル範囲と、貼り付け先のセル範囲の双方に対して、Excelの置換機能を使用して、選択範囲内に存在する「゛=」を 「=」に全て置換しますと、元は関数であった部分が再び関数として機能する様になります。

投稿日時 - 2013-12-07 19:21:04

お礼

ご回答ありがとうございます(わざわざ確認までとってくださり、ありがたいです)。
置換機能…そういう使い方もあるんですね!
別資料でも教えていただいた置換機能をうまく使用できそうなものがあったので、そちらにも使用してみようと思います!

投稿日時 - 2013-12-07 21:26:39

ANo.3

 コピー元と、貼り付け先のセル範囲のセル番号が必ず同じである必要がありますが、以下の様な方法は如何でしょうか?
 まず、コピー元のファイルのコピーしたい範囲を選択してから、Excelの置換機能を使用して、選択範囲内に存在する「=」を「 =」に全て置換して下さい。(「=」の前に付けるのは、別に半角スペースでなくとも、「1」でも「A」でも「あ」でも何でも構いません)
 すると、関数が(余分なスペース付きの)文字列データに変換されますから、それをそのままコピーして、貼り付け先のファイルの同じセル番号の所に貼り付けて下さい。
 そして、コピー元のセル範囲と、貼り付け先のセル範囲の双方に対して、Excelの置換機能を使用して、選択範囲内に存在する「 =」を 「=」に全て置換しますと、元は関数であった部分が再び関数として機能する様になります。

投稿日時 - 2013-12-07 18:26:08

ANo.1

100個程度ならひとつずつやれば良いと思う。5分もかからないよ。

これが何千個もあるならbookごとコピーして、そのコピーしたファイルの上で作り直したほうが早い。

投稿日時 - 2013-12-07 15:19:47

お礼

ご回答ありがとうございました。

使用するのが私ではなく上司で、パソコン上でちまちま細かい作業をするくらいなら全て電卓で手計算すると言っているので(その方が手間だと思うのですが、パソコンがあまり得意でない世代の方はそういうものなのかもしれません)、できるだけ手間が少なくて簡単な方法を探していたんです。

投稿日時 - 2013-12-07 21:20:20

あなたにオススメの質問