プロが教えるわが家の防犯対策術!

Excel2007で下記のショートカットの組み合わせを1発で出来る方法はありませんでしょうか。

「Shift」⇒「Ctrl+z」⇒「Ctrl+c」

上記の組み合わせを例えば、任意のショートカットキー1つで出来るようにする、またはプログラムを組み込んだボタンを配置するなどどんな方法でも構いませんので、実現可能でしたら教えてください!!

A 回答 (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

参考URL:http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one; …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
ご丁寧に3つもありがとうございますm(__)m
無事解決することができました。
1週間くらい悩んでいたのがようやくすっきりしました。
非常にわかりやすかったです。

お礼日時:2009/03/30 11:14

こんな感じ?


標準モジュールに下記を貼り付けます。
アクティブセルをコピーします。

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/tips2 …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
コピーして貼り付けたところ、なぜかエラーが出てしまいました。
しかし、参照URLも大変参考になりました。

お礼日時:2009/03/30 11:12

>回答番号:No.1 この回答への補足


補足をいただきましたが、理解できません。

>「shift」⇒セルの中に文字を記入 ※shift以外でも構いません。
セルに文字記入(入力?)するのにShiftキーを押す状況が解りません。
>「Ctrl+Z」⇒元に戻す
>「Ctrl+C」⇒コピー
仮に入力したとして、元に戻したものをコピーするのですか?
それなら、最初から単純にコピーするだけで済む話ではないでしょうか?
何故、そんな回りくどい無駄な作業をする必要があるのでしょうか?

セル内のテキストのみを選択コピーするなら
F2キーで、セルを編集モード
Shift+Homeで、テキストを全選択
Ctrl+Cで、コピー
ではないでしょうか。

どちらにしても
>ショートカットの組み合わせを1発で出来る方法はありませんでしょうか。
といった方法は一般機能では無理だと思います。
マクロを組めば、そのマクロにショートカットキーを割り当てる方法があります。
    • good
    • 0
この回答へのお礼

たびたびのご回答ありがとうございます。
補足もわかりにくい内容で申し訳ありません(><)

ショートカットキーについてはご指摘のやり方でも出来ますが、「Shift」→「Ctrl+Z」→「Ctrl+C」のほうが手の位置をあまり動かさなくて済むのでこの方法をとっていました。
(どちらにしてもショートカットキー3回使う必要がありますので)

マクロは他の方からも教えていただきましたので早速試してみました!
が、初めてマクロを組むのでやり方が悪いのか、記録を行ったセルに対してはその機能が使えるのですが、他のセルで同じショートカットを使用すると記録を行ったセルの内容がなぜかペーストされてしまいます。

もう少し自分でマクロをいじってみようと思います。
もしも詳細設定の方法をご存知でしたら教えていただけると幸いです。

お礼日時:2009/03/28 16:06

マクロ使いましょ



記録マクロで十分な気がします
セルを選択した後でマクロの記録を始めてコピーまでの操作をしたら記録を停止
あとはマクロをショートカットに割り付けたり、ボタンを作ってそこに登録したりすればOK
次からはセルを選択したらマクロを起動させればクリップボードにコピーされますよ

・・・たぶん
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
マクロ機能を早速試してみました!
が、マクロ機能のやり方がよくわからず設定が悪いのか記録を行ったセルに対してはその機能が使えるのですが、他のセルで同じショートカットを使用すると記録を行ったセルの内容がなぜかペーストされてしまいます。

とはいえあと1歩のところまで来ました!!
もう少しマクロの設定をいろいろ試してみます。

もしもやり方をご存知でしたら教えていただけると助かります。

お礼日時:2009/03/28 15:56

通常はセルを選択した状態でCtrl+Cでセル内容すべてコピーできますが

この回答への補足

ご回答ありがとうござます。

しかしそのやり方ですと純粋にテキストデータだけコピーするのではなく、Excelの書式を同時に持っていくようで他のアプリケーションにペーストした際に「""」や余分な空白が出現してしまいます。
それを回避するためのショートカット作戦でした。

補足日時:2009/03/28 15:24
    • good
    • 0

>「Shift」⇒「Ctrl+z」⇒「Ctrl+c」


意味がよく分かりません。
実作業を説明していただけないでしょうか?

この回答への補足

ご質問ありがとうございます。
説明が不足しており申し訳ありません。
やりたい作業は、下記の3ステップです。
「shift」⇒セルの中に文字を記入 ※shift以外でも構いません。
「Ctrl+Z」⇒元に戻す
「Ctrl+C」⇒コピー

目的としては、セルの中に表記されているテキストデータをコピーしたいのですが、長文のためマウスで操作すると時間がかかってしまったり、途中までしか選択されないなどミスが生じてします。

そこで上記のショートカットを組み合わせると「shift」⇒「Ctrl+Z」で全部のテキストを選択し、さらに「Ctrl+C」でコピーできるということがわかりました。

しかし、この3ステップを毎回やるのが面倒臭いので何とか1発でできないものかと思っています。

補足日時:2009/03/28 14:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!