• ベストアンサー

エクセル・セルの値のみをコピーすることについて

セルの値のみをコピーするには、「形式を選択して貼り付け」の「値」を選ぶことで可能なことはわかります。 しかし、値が貼りついた後にEnterキーを押すとその値がすべてをコピーしたように変わってしまいます。 例えば、元のセルに関数があればその関数もコピーされてしまいます。 Enterキーではなく、Escキーを押すと問題なく値のみが貼りつきます。 この現象を設定等を変えることによって、Enterキーを押しても値のみを貼りつけるようにすることは可能でしょうか? エクセル2000、2003、2007でも同様の現象がおきます。 よろしくお願いします。

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

  • ベストアンサー
noname#164823
noname#164823
回答No.5

コピーコマンドを掛けるとセル内の「すべて」がWindowsの 領域のクリップボードに積み込まれます。 「貼り付け」をすればその「すべて」が貼り付きます。 コピー元が点滅しているのは、まだクリップボードにあるという事なので、 何回でも貼り付けられます。 クリップボードから消去するにはEscを押さなければなりません。 次のデータを「コピー」すると内容が積み変わります。 「貼り付け」の代わりにエンターを押すと、「貼り付け」と同時にEscを 押したのと同じになります。 「形式を選択して貼り付け」を開くと、「すべて」になっていますが、 これは通常の「貼り付け」と同じ事です。 「値」や「書式」など選択するとセル内の、指定した情報だけを貼り付けることができます。 ところが、折角指定して貼り付けたのに、エンターを押すという事は「すべて」を 貼り付けてしまうのです。 ですから、終わるときはEscを使う訳です。 「コピー」コマンドを掛けるときに、内容を指定してクリップボードに 積み込めれば楽なのでしょうが、それはできないのです。

taka1012
質問者

お礼

詳しいご解説ありがとうございます。 よく理解できました。

その他の回答 (7)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.8

>>アセンブラ等の知識が必要ですが、できますか?) >はい、できます。 Excelを逆アセンブラするという意味でしょうか。それはいくらなんでも、それが出来れば、私などは、もうVBAはとうに離れていますね。少しはアセンブラというか、昔は、フリーソフトのコンパイラーもあったので、やったことはありますが、今は、過去の思い出として本棚に本を飾っているだけです。 Win32 APIというものもあるけれども、そういうダイレクトな質問がでれば、回答もついたかと思いますが、それも微妙な内容の気がします。 もちろん、どのキーを押したかという記録は取れますが、通常、貼り付けなら[貼り付け]というコマンドに対して、貼り付けをするわけで、その時に、ユーザーは、値貼り付けにするのか、すべてを貼り付けるか、選択するわけですから、値貼り付けにする時に、Application.CutCopyMode = False を送ってあげればすればよいと思います。簡単な話だと思います。 >「コピー」コマンドを掛けるときに、内容を指定してクリップボードに積み込めれば それは、Office に儲けられているClipBoard オブジェクトに入れれば、テキストしか入りませんから可能ですが、ふつうは、コピーした後に、吐き出す時に区分けします。 (1) 一般的には、「値の貼り付け」なら、コマンドボタンがありますから、ユーザー設定から探し出して、ツールバーの上にドラッグして貼りつけてあげます。 (2)VBAでショートカットを置けば、値貼り付けが実現しますね。 例えば、Ctrl + Shift + V とか分けてあげればよいです。 Sub Auto_Open()   Call SetKey End Sub Sub SetKey()  Application.OnKey "^+v", "myPastePr" 'Ctrl+Shift+v End Sub Private Sub myPastePr()  If Application.CutCopyMode Then    Selection.PasteSpecial xlPasteValues    Application.CutCopyMode = False  End If End Sub (3) 既存のひとつのブックに対してなら、こうすれば、Esc を押したのと同じになります。しかし、これは、値貼り付けでなくても、同じようになってしまいます。 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)  Application.CutCopyMode = False End Sub すべてのブックに搭載するなら、PERSONAL.XLS(b)で、Class でインスタンスを設けます。 私個人は、(1)の値の貼り付けボタンをツールバーに貼り付けていますが、右クリックメニュー("Cell") にも、独自に入れています。 Win32API の IsClipboardFormatAvailableで、内容を確認して、貼り付けを区分けしています。

taka1012
質問者

お礼

ご回答ありがとうございます。 勉強してみます。

  • rolly-ys
  • ベストアンサー率43% (25/57)
回答No.7

>コピー元のセルが点滅するのを消すために、通常どうしているのですか? Escキーを押せばよいです。 Enterを押すのは、貼り付け後下のセルに自動移動させるためですか。 それならEscキーを押したあと、Enterですね。

taka1012
質問者

お礼

度々のご回答ありがとうございます。 >Enterを押すのは、貼り付け後下のセルに自動移動させるためですか。 ただ、Enterキーは大きいので押しやすかったからです。

  • tohru999
  • ベストアンサー率49% (76/154)
回答No.6

No4のTohru999です。 詳しい解説はNo5のinu-cyanさんが答えてくれていますので、略ということで... もし改造という方法を選択するならば、ライセンスの問題はありますが、がんばればできるでしょう。 簡単に書いておくと、 エクセルに送られるWindowMessageをフックして、 エクセルでコピー状態の場合に、Enterキーが押されたかどうかを判定。 その時にエクセルの選択されているセルに値のみを貼り付ける。 という処理をすればできると思います。 アセンブラとWindowsの仕組み(WindowMessage等)が理解できていれば、できるでしょうが 個人的には、そこまでしてやる事ではないと思います。 以上、余談でした。

taka1012
質問者

お礼

ありがとうございます。 頑張ってみます。

  • tohru999
  • ベストアンサー率49% (76/154)
回答No.4

他の方が回答しているように、エクセルの仕様です。 これを変えるにはマイクロソフトに「仕様を変えて下さい」と、お願いするしかありません。 (あ~そうですか。とかで聞き流されるぐらいだと思いますが) また、No2さんへのお礼に、「誰かはEnterキーを押しています」と書いていますが、 そういった仕様なので、誰もEnterキーを押して値のみをコピーできません。 (エクセルを改造すればできますが、そこまでしないorできないです) それとも、頑張って改造してみますか? (アセンブラ等の知識が必要ですが、できますか?)

taka1012
質問者

お礼

>アセンブラ等の知識が必要ですが、できますか?) はい、できます。

taka1012
質問者

補足

>また、No2さんへのお礼に、「誰かはEnterキーを押しています」と書いています>が、 >そういった仕様なので、誰もEnterキーを押して値のみをコピーできません。 私が言いたいのは、私のようにエンタキーを押して、疑問に思っている人は他にもいるということです。

  • rolly-ys
  • ベストアンサー率43% (25/57)
回答No.3

貼り付け後何故Enterするのでしょうか。 値の貼り付け後も、コピーモードが生きています(コピー元のセルがチカチカしている)よね。 この状態でEnterするということはもう一度同じ場所に全てのコピーをすることになります。 通常の全て貼り付けの時も、貼り付けボタンの代わりに、Enterでも貼り付けが出来るのです。

taka1012
質問者

お礼

コピー元のセルが点滅するのを消すために、通常どうしているのですか?

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> しかし、値が貼りついた後にEnterキーを押すとその値がすべてをコピーしたように変わってしまいます。 そのような仕様です。 だから「値貼付け」の際は誰もEnterキーを押しません。

taka1012
質問者

お礼

>だから「値貼付け」の際は誰もEnterキーを押しません。 コピー元のセルが点滅するのを消すためにエンターキーを押してます。 誰かはEnterキーを押しています。

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.1

どの様な手順でhりつけているのですか? こちらではメニューから操作しますが、全てマウス操作で貼り付けできますので、enterキーなど使ったことが有りませんが。

taka1012
質問者

お礼

コピー元のセルが点滅するのを消すためにエンターキーを押してます。

関連するQ&A

  • エクセル セルのコピーができない。

    エクセルでセルをコピー&貼付けがうまくできなくなりました。 セルをコピーしてもテキストしか認識されずに、貼り付けるとセルの書式設定等は全くついてきません。 また、行や列毎コピーして挿入することもできなくなりました。 形式を選択して貼り付けを選択すると、Unicodeテキストかテキストの2つから選ぶ画面しか出てこず、 通常の値、数式、書式設定等を選ぶ画面も出てきません。 とくに何かエクセルの設定を変えた覚えはないので、なぜこうなったのかわかりません。 どうしたら、通常のセルのコピーができるようになりますでしょうか。

  • ■EXCELで別のファイルのセルをコピーするとき(教えて)

    例えばAと言うフアイルのセル(関数が入っている)をBと言うファイルにコピーするときに普通はBのファイルにも関数がコピーされるのですがいつの間にか、何故か値のみがコピーされてしまいます。そこで、関数をコピーしようと思い「形式を選択して貼り付け」の項目をクリックしますと普通は「形式を選択して貼り付け」の小さな画面が開いて貼り付けと云うタイトルがあり、その下に○すべて(A)、○数式(F)、○値(V)・・・・と表示されているのですが、何故かリンク元、○貼り付け、○リンク貼り付けと言う見慣れない画面が出てきました。其の中には○数式の項目がありませんしこんな画面で関数のコピーなど出来ません。一体何故こんな画面が出てくるのでしょうか?又セルのコピーを別のファイルのセルにコピーする方法を教えてください。急ぎでやりたいことがあり困っています。

  • Excelでコピー操作後のぎらぎら枠線を消す方法

    よろしくお願いします。 お世話になります。 カテゴリーを間違えましたので、改めてこちらで質問をさせていただきます、 Excelで、「コピー」操作の後に、「貼り付け」操作を実行すると、コピー元のセルがギラギラした線で囲まれます。もう貼り付けをしないときは、ギラギラした線を消去するために、ESCキーを押すように習いました。 最近になって、ESCキーの代わりにEnterキーを使用しても、ギラギラした線を消去できることがわかりました。 このESCキーを使用する方法とEnterキーを使用する方法は全く同じ結果になるのでしょうか。 ギラギラした線を消去できることは同じですが、何か異なる状況、現象はないでしょうか。 異なるとすれば、どんな違いが生じるのでしょうか。 よろしくお願いします。 OS : Windows Vista SP-2 Office : 2007 Professional SP-2

  • 値を残してエクセルから必要なシートだけコピーするには

    何ページものシートにわたって複雑な計算を行うエクセルがあります。 このままでは容量も多いので最終の結果ページ1枚だけをコピーしてメール送信したいのですが、やり方がよくわかりません。 ページ設定やセル巾、書式設定などはそのまま残し、計算式はなしで値のみを残したいのです。 コピー後、「形式を選択して貼り付け」で「値」選択するとといいと他の質問の回答にありましたが、、「形式を選択して貼り付け」をやっても「値」というような選択肢は、出て来ず、「エクセルシート」「図」「オブジェクト」「グラフ」などの項目があるだけです。貼り付けはできるものの容量は、元の大きなままです。 どうすればいいのでしょうか? ブックごとコピーして不要なシートを削除する方法ですと、値が残らず「#REF」という表示になってしまいます。

  • Excel   関数が入ったセルの「値のみ」コピーについて

    はじめまして。 Excelに関することで質問させていただきます。 Excel 2000を使用しています。 セルに関数を入れ、返された値を別のセルに「値のみ」貼り付けを選択してコピーしました。 値は文字列です。 その「値のみ」で貼り付けられた文字列を「COUNTIF」を使って、空白以外のセルの個数を出したいと考えています。 しかし、やってみると「値のみ」で貼り付けたはずのセルに”何か”が入っているようで、空白として無視してくれないのです。 空白のセルを個別にDeleteしてみると、やっと正確な数を返してくれるという状態です。 Excelに問題があるのか、やり方に問題があるのか、別の原因があるのか分からず困っています。 お力をお貸しください。 どうぞ宜しくお願いいたします。

  • コピー操作後のぎらぎらした線を消去する方法について

    よろしくお願いします。 Excelで、「コピー」操作の後に、「貼り付け」操作を実行すると、コピー元のセルがギラギラした線で囲まれます。もう貼り付けをしないときは、ギラギラした線を消去するために、ESCキーを押すように習いました。 最近になって、ESCキーの代わりにEnterキーを使用しても、ギラギラした線を消去できることがわかりました。 このESCキーを使用する方法とEnterキーを使用する方法は全く同じ結果になるのでしょうか。 ギラギラした線を消去できることは同じですが、何か異なる状況、現象はないでしょうか。 異なるとすれば、どんな違いが生じるのでしょうか。 よろしくお願いします。 OS : Windows Vista  SP-2 Office : Offisl 2007 Professional  SP-2

  • Excel でセルのコピーを形式を選択して貼り付け

    Excel でセルのコピーを形式を選択して貼り付けの時に初期値で{すべて(A)}に成っていますが 「値と数値の書式(U)」に最初から選択したいのですが 方法をご伝授いただきたいと思います

  • Excel の 「形式を選択して貼り付け」、デフォルトで 「値」 に設定可能?

    Excel 2000 を使ってます。 ボーダーや背景色のあるセルをコピーする時、 値だけを取り出すために 「形式を選択して貼り付け」 から 「値」 を選択してるのですが、「すべて」 の代わりに 「値」 をデフォルトに設定することは可能でしょうか? また、オプションの設定などで コピーした時に「値」 だけを 取り出すことは可能ですか? あるいは VBA を使った場合はどうでしょう??

  • エクセルでセルに入力した値が消えてしまう

    1件質問させてください。 エクセル2013で時々発生するのですが、セルに値を入力したり、貼り付けたりした後、Enterキーを押すと入力した値が消えてしまうことがあります。 ちなみに、上の数式バーにはちゃんと入力した値が表示されていますので、入力自体はできているようなのですが、なぜかセルの部分には表示されないという現象に悩まされています。 確認したところ、文字が白に設定されている訳でもなく、表示形式も標準になっています。 セルがロックされていることもありませんでした。 さらに不思議なことに、この問題が起こったあと、別のソフト(例えばIEとかクロームとか・・・)を画面に出して、再びエクセルを画面に表示させると、消えていたセルの値がスーッという感じで湧き出るように表示されてくるのです。 その後はセルの値が消えることはないのですが。 なぜ、このような現象が起こるのでしょうか? 原因、対策をご存じの方いらっしゃいましたらご教示頂けると助かります。

  • エクセルのセルのコピーに関する質問です。

    エクセルでセルの内容をコピーし別のセルに貼り付ける場合、普通の「貼り付け」の場合罫線も張り付きます。 罫線をコピーしたく無い場合は「形式を選択して貼り付け」を選択し更に「罫線を除く全て」にチェックを入れる必要があります。 エクセルのコピーの場合「罫線を除く」場合が圧倒的に多いと思います。従って「罫線を除く」をデフォルトで設置したいのですが方法を教えて下さい。

専門家に質問してみよう