- ベストアンサー
Excelのショートカットキーの組み合わせを一発で
Excel2007で下記のショートカットの組み合わせを1発で出来る方法はありませんでしょうか。 「Shift」⇒「Ctrl+z」⇒「Ctrl+c」 上記の組み合わせを例えば、任意のショートカットキー1つで出来るようにする、またはプログラムを組み込んだボタンを配置するなどどんな方法でも構いませんので、実現可能でしたら教えてください!!
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
以下のマクロのうちMacro1()を実行するとショートカットキー Ctrl+Shift+Cで、テキスト形式でクリップボードにセルの値が貼り付きます。 Macro2()で設定したショートカットキーを通常の状態に戻します。 'Ctrl+Shift+C にマクロを割り当てる Sub Macro1() On Error Resume Next Call Application.OnKey("^+C", "CopyText") End Sub 'Ctrl+Shift+C を元に戻す Sub Macro2() On Error Resume Next Call Application.OnKey("^+C") End Sub 'ActiveCellの中身をテキスト形式でクリップボードにコピーする Sub CopyText() On Error GoTo ErrHandle Dim objCb As Object Set objCb = CreateObject("new:1C3B4210-F441-11CE-B9EA-00AA006B1A69") Call objCb.SetText(ActiveCell.Text) Call objCb.PutInClipboard ErrHandle: Set objCb = Nothing End Sub
その他の回答 (5)
- turuzou
- ベストアンサー率33% (15/45)
こんな感じ? 標準モジュールに下記を貼り付けます。 アクティブセルをコピーします。 Sub Sample() Dim buf As String, CB As New DataObject buf = ActiveCell With CB .SetText buf ''変数のデータをDataObjectに格納する .PutInClipboard ''DataObjectのデータをクリップボードに格納する End With End Sub 上記は下記を変更したものです。 クリップボードを操作する(1) http://www.officetanaka.net/excel/vba/tips/tips20.htm
お礼
ご回答ありがとうございます! コピーして貼り付けたところ、なぜかエラーが出てしまいました。 しかし、参照URLも大変参考になりました。
- xls88
- ベストアンサー率56% (669/1189)
>回答番号:No.1 この回答への補足 補足をいただきましたが、理解できません。 >「shift」⇒セルの中に文字を記入 ※shift以外でも構いません。 セルに文字記入(入力?)するのにShiftキーを押す状況が解りません。 >「Ctrl+Z」⇒元に戻す >「Ctrl+C」⇒コピー 仮に入力したとして、元に戻したものをコピーするのですか? それなら、最初から単純にコピーするだけで済む話ではないでしょうか? 何故、そんな回りくどい無駄な作業をする必要があるのでしょうか? セル内のテキストのみを選択コピーするなら F2キーで、セルを編集モード Shift+Homeで、テキストを全選択 Ctrl+Cで、コピー ではないでしょうか。 どちらにしても >ショートカットの組み合わせを1発で出来る方法はありませんでしょうか。 といった方法は一般機能では無理だと思います。 マクロを組めば、そのマクロにショートカットキーを割り当てる方法があります。
お礼
たびたびのご回答ありがとうございます。 補足もわかりにくい内容で申し訳ありません(><) ショートカットキーについてはご指摘のやり方でも出来ますが、「Shift」→「Ctrl+Z」→「Ctrl+C」のほうが手の位置をあまり動かさなくて済むのでこの方法をとっていました。 (どちらにしてもショートカットキー3回使う必要がありますので) マクロは他の方からも教えていただきましたので早速試してみました! が、初めてマクロを組むのでやり方が悪いのか、記録を行ったセルに対してはその機能が使えるのですが、他のセルで同じショートカットを使用すると記録を行ったセルの内容がなぜかペーストされてしまいます。 もう少し自分でマクロをいじってみようと思います。 もしも詳細設定の方法をご存知でしたら教えていただけると幸いです。
- Cupper
- ベストアンサー率32% (2123/6444)
マクロ使いましょ 記録マクロで十分な気がします セルを選択した後でマクロの記録を始めてコピーまでの操作をしたら記録を停止 あとはマクロをショートカットに割り付けたり、ボタンを作ってそこに登録したりすればOK 次からはセルを選択したらマクロを起動させればクリップボードにコピーされますよ ・・・たぶん
お礼
ご回答ありがとうございます。 マクロ機能を早速試してみました! が、マクロ機能のやり方がよくわからず設定が悪いのか記録を行ったセルに対してはその機能が使えるのですが、他のセルで同じショートカットを使用すると記録を行ったセルの内容がなぜかペーストされてしまいます。 とはいえあと1歩のところまで来ました!! もう少しマクロの設定をいろいろ試してみます。 もしもやり方をご存知でしたら教えていただけると助かります。
- web2525
- ベストアンサー率42% (1219/2850)
通常はセルを選択した状態でCtrl+Cでセル内容すべてコピーできますが
補足
ご回答ありがとうござます。 しかしそのやり方ですと純粋にテキストデータだけコピーするのではなく、Excelの書式を同時に持っていくようで他のアプリケーションにペーストした際に「""」や余分な空白が出現してしまいます。 それを回避するためのショートカット作戦でした。
- xls88
- ベストアンサー率56% (669/1189)
>「Shift」⇒「Ctrl+z」⇒「Ctrl+c」 意味がよく分かりません。 実作業を説明していただけないでしょうか?
補足
ご質問ありがとうございます。 説明が不足しており申し訳ありません。 やりたい作業は、下記の3ステップです。 「shift」⇒セルの中に文字を記入 ※shift以外でも構いません。 「Ctrl+Z」⇒元に戻す 「Ctrl+C」⇒コピー 目的としては、セルの中に表記されているテキストデータをコピーしたいのですが、長文のためマウスで操作すると時間がかかってしまったり、途中までしか選択されないなどミスが生じてします。 そこで上記のショートカットを組み合わせると「shift」⇒「Ctrl+Z」で全部のテキストを選択し、さらに「Ctrl+C」でコピーできるということがわかりました。 しかし、この3ステップを毎回やるのが面倒臭いので何とか1発でできないものかと思っています。
お礼
ご回答ありがとうございます! ご丁寧に3つもありがとうございますm(__)m 無事解決することができました。 1週間くらい悩んでいたのがようやくすっきりしました。 非常にわかりやすかったです。