• ベストアンサー

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

エクセル2010を使用しています。貼り付けのオプションで 「値のみ」しか選択できないマクロ記述を教えてください。 セル上で右クリックし「コピー」選択後、貼り付け先セルで右クリックした時、「値のみ」しか選択できないファイル設定をしたいと思います。 要するに起動後、すべての「貼り付け」の作業が「値のみ」に限定したいと思います。よろしくお願いします。

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

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でもできるので、こりれらをなんとかしないと質問の内容実現だけでは意味がないと思うけど、どうなんだろう。

mszjmszj
質問者

お礼

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

その他の回答 (2)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

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

回答No.1

貼り付けのオプションの表示、非表示の切り替えはできますが、 「値のみ」しか選択できないようにするのは無理じゃないでしょうか。 貼り付けた後に、書式をクリアするのではダメなのかな。 たとえば、Workbookの_SheetChangeイベントで、 If Application.CutCopyMode Then Target.ClearFormats というのはどうですか? 貼り付け先の書式もクリアされてしまうので、 これを残しておきたい場合は、あらかじめどこかに書式を保持しておく必要があります。

mszjmszj
質問者

お礼

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

関連するQ&A