• ベストアンサー

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

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

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

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

こんにちは。 もし、既存のショートカットに設定したいのでしたら、以下のようにすれば、Ctrl + V で、デフォルトで値貼り付けにはなりますね。 もし、選択肢や一般のコピーをする場合は、メニューの編集-形式を選択してコピーや貼り付けになります。 ただし、この場合、以下のコードは、  Application.OnKey "^%v", "CopyValues" のようにして、Ctrl + Alt + V などと、通常にはない組み合わせにするのが一般的です。 (注意:SetKey, SetOffkeyは、同じキーにさせることです)個人用マクロブックに、同様にすれば、Excelを開いたときに、どれでも同じようになります。 それ以外の設定は、やってみたことはないけれど、デフォルト設定は、かなりややこしいものになるような予感がします。簡単に言うと「形式を選択して貼り付け」ダイアログを途中で横取りするわけです。そのためには、そのダイアログ表示の起動になる部分のインスタンスを設け、既存のものと入れ替えするわけです。それは、可能だとは思いますが、結構、高度な方法であり、設定もかなり面倒になります。私はまったく自信がありません。私自身は、デフォルト以外の方法で慣れてしまうと、他のPCで、ストレスを感じてしまうので、常に、デフォルトに近い状態にして使っています。 '---------------------------------------------- '標準モジュールのみ Sub Auto_Open() 'ブックを開けたら設定  Call SetKey End If Sub SetKey() '設定用  Application.OnKey "^V", "CopyValues" End Sub Sub CopyValues() '値貼り付け  On Error Resume Next  If TypeName(Selection) = "Range" Then   ActiveCell.PasteSpecial xlPasteValues   Application.CutCopyMode = False  End If  On Error GoTo 0 End Sub Sub SetOffkey() '解除用  Application.OnKey "^V" End Sub Sub Auto_Close() 'ブックを締めたら解除  Call SetOffKey End If

その他の回答 (7)

  • hirorin00
  • ベストアンサー率50% (446/884)
回答No.8

hirorin00です。 元締めのgooにココに書き込むのは不適当と判断されるかもしれませんが… Wendy02様 ご指導ありがとうございます。 私自身、完全な独学+ネット(古くはフォーラム時代から)からの知識でやってきただけなので、偏りがあったモノと自覚することができました。 大変勉強になりました。ありがとうございます。 以前から貴殿の書き込みを大変興味を持って拝見しておりました。 これからもよろしくお願いいたします。 yasu182様 場所をお借りいたしましてごめんなさい。 でも貴殿のお蔭で、私も更に勉強することができました。 ありがとうございました。

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

hirorin00 様へ はじめまして、Wendy02と申します。 ちょっと書き込みを遠慮していましたが、#5 を読みまして、納得しました。personal.xls 強化講座は、有名ですが、この方のコードは、無意味な部分や、書き方としておかしな部分があるので、一通りマクロが知っているのかな?っていう印象です。(失礼なことを書いているかもしれませんが……) 一般的に、デフォルトでバージョンが決まっていないと、CommandBars コレクションに、Index では使えません。また、場合によって、それぞれの設定によって、揺れ動くものですので、名前の指定をしないといけません。Sheets(i) というようなもので、一律に行う以外には、Index のループはできないのです。 CommandBarsControl のような名称が数多くある場合は、必要なら、別途、配列変数で格納します。ただ、Version によって、既存の名前が変わるわけではありませんので、Versionによる 統一コードは可能で、バージョンが変わったから、コードを換えるという必要はありません。 それと、他人の環境では、むやみに、CommandBur に対して、Reset メソッドは使ってはいけないのです。以下のように、自分のつけたもの(つけようとしているもの)に対して削除するようにして、二重登録を防ぎます。多くある場合は、自分専用のTag を付けておき、Tag で削除するようにします。 右クリックメニューに登録する場合は、このようにします。 '標準モジュール Sub Auto_Open Call RightMenuAdd End Sub Sub RightMenuAdd() '右クリックメニュー追加  Dim i As Integer  On Error Resume Next  With Application.CommandBars("CELL")   .FindControl(, 370).Delete   On Error GoTo 0   i = .FindControl(, 755).Index   With .Controls.Add _    (Type:=msoControlButton, ID:=370, Before:=i, Temporary:=True)    .BeginGroup = False    .Caption = "値の張り付け"   End With  End With End Sub '(本来は、With のネストよりも、変数を使ったほうが良いです。) なお、満足されてお使いになっておられているようでしたら、申し訳ありません。お気を悪くしないようにね。

yasu182
質問者

補足

もう一度考えてみたところ、 キーボードの F2 または セルをダブルクリックで 編集可能にしてからマウスで選択して反転、 そこから Ctrl + C を使っても 実用的に使える手間で 値を取り出せるかと思いました。 コピーしたいセルが複数の場合は 教えていただいた 「値の貼り付け」 コマンドが役に立ちそうです。 VBA もうまく設置できました。 そのうち改造して自分でも使ってみようと思います。 色々なアドバイスとても勉強になりました。 ありがとうございました!

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.6

ツールバーに「値を貼り付け」コマンドを追加しておけば、コピーのあと貼り付けるセルを選択してコマンドボタンをクリックするだけで済みます。

  • hirorin00
  • ベストアンサー率50% (446/884)
回答No.5

4番です。 先ほどのVBAは下記のページを参考にして工夫したモノです。 書き忘れておりました。失礼いたしました。 http://www.excel7.com/personal/personal4.htm ココはとても参考になります。

参考URL:
http://www.excel7.com/personal/personal4.htm
  • hirorin00
  • ベストアンサー率50% (446/884)
回答No.4

はじめまして 以下のVBAをセットしておくと、右クリックしたときに「値の貼り付け」がでます。 重宝しております。 Option Private Module Sub auto_open() Add_RightClickMenu 1 End Sub Sub Add_RightClickMenu(num%) Dim cstBar As CommandBar Dim i As Long Dim j As Long For j = 23 To 28 Application.CommandBars(j).Reset Set cstBar = CommandBars(j) cstBar_sub cstBar Next End Sub Sub cstBar_sub(cstBar As CommandBar) With cstBar .Controls.Add Type:=msoControlButton, Before:=6, ID:=370, Temporary:=True .Controls(6).Caption = "値の張り付け" ' ID:=370 というのが、値の張り付けを表すID。そのIDのマークが表示され、 ' そのIDの動作が行われる ' Before:=6と.Controls(6)の「6」を変えると表示される場所を変えられます。 End With End Sub

  • masakaji
  • ベストアンサー率33% (38/113)
回答No.2

コピーや貼り付けのとき、 右クリックを使えば、ストレスが少ないのでは? コピーした後、 貼り付けたいセルの先頭の位置を選択して 右クリックしたら、「形式を選択して貼り付け」 が出てくるので、自分はいつもこれで済ませています。

回答No.1

値をデフォルトに設定することはできないと思います。 マクロで設定することは可能でしょうが、[ツール]-[ユーザー設定] の「編集」 コマンド一覧から「値の貼り付け」をツールバーに取り込んだほうが簡単では ないでしょうか。

関連するQ&A

  • 「形式を選択して貼り付け」の値のみ貼り付け

    今仕事で、エクセルで関数の入ったセル内の「値のみ」をコピーして同じセルに張り付ける作業をやっています。(計算式の結果の値のみを貼り付けます) 普段コピー&貼り付けの時には「マウスの右クリックでコピーor貼り付け」ではなく、「Ctrl-C」でコピーし、「Ctrl-V」で貼り付けています。 ですが、関数の入ったセルの値だけを貼り付ける場合、「コピー→右クリック→形式を選択して貼り付け→値を選んでOKを押す」という作業を繰り返すことになると思うのですが、さすがにあまりにも数が多く、この作業を繰り返しては終わりそうにありません。 セルをコピー後、「形式を選択して値のみ貼り付け」を「Ctrl-V」のように一回でキーボード操作のみで出来る方法などないでしょうか? 文章が下手でうまく説明できなくて申し訳ありません。また、あまりパソコンの知識がなく専門用語は分からないのですが、よろしくお願い致します。

  • エクセル_形式を選択して貼り付け

    お世話になります。 エクセル操作についてお聞き致します。 セルをコピーして値のみ貼り付けをしたい場合 1.セルをコピー 2.形式を選択して貼り付け 3.値 4.OK だと思います。しかしなぜか分からないのですが、上記操作において 「形式を選択して貼り付け」を選ぶとなぜか「オブジェクト貼り付け」 の画面になってしまうのです。なにが原因なのか全く分かりません。 最近までは普通にできていたと思うのですが、なにか操作がおかしい のでしょうか?お心当たりのある方はご教授願いますm(_ _)m

  • Excel 形式を選択して貼り付けで貼り付ける値は決まっている場合

    こんにちは。Excel2007を利用しています。コピーしたものを貼り付ける場合、形式を選択して貼り付けるがありますが、この中で値を貼り付けでの質問になります。 例えばA1に式が書いてあって、そこにデータを入力します。そこで値が「100」となったとします。これを形式を選択して貼り付けでB1に値貼り付けをします。これで値が貼り付けられますが、こうではなく、B1に貼り付けるときにその特定のセルに貼り付ける場合は常に値の貼り付けで行うことは可能でしょうか? ショートカット、マクロではなく、何か設定か式で可能ではないでしょうか?よろしくお願いいたします。

  • EXCEL クイックアクセスツールバーに『形式を選択して貼り付けの“値”』をカスタマイズしたい

    エクセルで、コピーを貼り付けるのに『形式を選択して貼り付け』⇒『値』をよく利用するのですが、『値』の貼り付けを一発で実行できる方法(設定)はあるのでしょうか? 参考書にクイックアクセスバーのカスタマイズというやり方がありましたができませんでした。 ※現在は、「形式を選択して貼り付け」→「値」→「OK」と3段階で実行しています。 ご存じの方、教えて下さい。よろしくお願いします。

  • Excelで「形式を選択して貼り付け」のマクロの作り方

    WinXPです。 Excelで 1.コピー元セルの値をコピーします。 2.コピー先セルを選択します。 3.コピー先セルを右クリックして 4.「形式を選択して貼り付け」を選択します。 5.「罫線を除く全て」を選択します。 ここでコピー元セルもコピー先セルも位置関係はなくランダムです。 上の4.5.のみのマクロを作りたいのですが うまくいきません。 VBAは全くわかりませんが、以前5.の部分が「値」に したものをカーソルの操作を記録することにより 作ってあります。(Win98ですが) したがって今回も5.が違うだけですから 同様にできると思うのですが 昔のことで方法が忘れてしまいました。 単純に4.5.をマクロに記録して、実行したら 「シンジのメソッドが・・・」というエラーに なってしまいました。 よろしくお願いします。

  • 【エクセル】「形式を選択して貼り付け」したいのですが、リンク貼り付け形式になってしまう。

    いつもお世話になってます。 数値の入った複数セルを範囲指定して、別シートに値だけ貼り付けようとして「形式を選択して貼り付け」を選択すると、「リンク貼り付け」になることがあります。 別ブックへの貼り付けの場合、よく出ます。 「形式を選択して貼り付け」を選択しても「リンク貼り付け」になるのはどのような条件の時でしょうか? よろしくお願いします。(エクセル2003)

  • エクセルの「値の貼り付け」ボタンについて

    こんにちは いつもお世話になっています。  エクセルのテキスト形式での貼り付けについて教えてください。 ツールバーに「値の貼り付け」のボタンを作ってあります。エクセルで文字列が入ったセルをコピーして、別のセル上で「値の貼り付け」ボタンを押すと正常に効きます。  しかし、たとえばIEで文字列をコピーしてエクセル上で「値の貼り付け」ボタンを押しても何も反応がありません。編集-「形式を選択して貼り付け」でテキスト形式を選ぶと正常にテキスト形式で貼り付けされます。  HTMLデータではボタンが効かないということなのでしょうか。それとも、固有のトラブルでしょうか。原因、対策を教えてください。

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

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

  • 形式を選択して貼り付け 値のショートカット

    お世話になります Excelの機能の「形式を選択して貼り付け」の「値」を多用しているのですが、 ショートカット等、一発で値だけをコピーする方法がございましたら教えていただけないでしょうか

  • エクセルで形式を選択して貼り付けができない

    過去問で探せないため質問します。エクセル2003です。J6から06をセルの統合をしています。それの数式?をコピーしてJ55から055のセルを統合したところに貼り付けをしたいのですが、うまくいきません。コピー→形式を→値にすると『同じ大きさのセルが必要です』と表示され、コピー→形式を→数式にすると『#VALUE!』とエラーが表示されます。どうすれば数式をコピーできますか?

専門家に質問してみよう