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

解決済みの質問

マクロ記述を教えてください。

エクセル2010を使用しています。貼り付けのオプションで 「値のみ」しか選択できないマクロ記述を教えてください。

セル上で右クリックし「コピー」選択後、貼り付け先セルで右クリックした時、「値のみ」しか選択できないファイル設定をしたいと思います。
要するに起動後、すべての「貼り付け」の作業が「値のみ」に限定したいと思います。よろしくお願いします。

投稿日時 - 2012-03-26 23:59:02

QNo.7385955

困ってます

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

ThisWorkBookに下記コード

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

If Application.CutCopyMode Then
UserForm1.Show
Cancel = True
End If
Application.CutCopyMode = False

End Sub


添付のようなフォームを作って、下記コード
Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub

Private Sub CommandButton2_Click()
Selection.PasteSpecial Paste:=xlPasteValues
UserForm1.Hide
End Sub

これで、質問の内容は実現できるが、貼り付けは右クリックメニューだけでなく、ホームのボタンやCtrl+Vでもできるので、こりれらをなんとかしないと質問の内容実現だけでは意味がないと思うけど、どうなんだろう。

投稿日時 - 2012-03-27 10:18:11

お礼

早速、ご回答いただきありがとうございました。目的を達成できました。完璧です。CTRL+Vについては、ポップアップウィンドウを開かせエラー案内する予定です。

投稿日時 - 2012-03-27 12:22:37

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

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

回答(3)

ANo.3

#2です。
添付がなかったね。
コードを見ればわかるとも思うけど、これです。

投稿日時 - 2012-03-27 10:21:04

ANo.1

貼り付けのオプションの表示、非表示の切り替えはできますが、
「値のみ」しか選択できないようにするのは無理じゃないでしょうか。

貼り付けた後に、書式をクリアするのではダメなのかな。
たとえば、Workbookの_SheetChangeイベントで、

If Application.CutCopyMode Then Target.ClearFormats

というのはどうですか?

貼り付け先の書式もクリアされてしまうので、
これを残しておきたい場合は、あらかじめどこかに書式を保持しておく必要があります。

投稿日時 - 2012-03-27 06:21:20

お礼

ありがとうございました。万年スケジュール表を作成しています。罫線もコピーされてしまい困っておりました。参考になりました。

投稿日時 - 2012-03-27 13:27:15

あなたにオススメの質問