『コピペで書式を壊さないようにするVBA』(Shirosuke)
エクセル初心者がエクセル書式情報を壊して、表示がおかしくならないようコピペされても値で貼り付け処理できるようにしたいです。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
'■更新されたセル数が1なら抜ける If Target.Count = 1 Then Exit Sub
Application.EnableEvents = False
'■処理内容(ペースト処理)を戻し、値で貼付する Application.Undo Selection.PasteSpecial xlPasteValues
Application.EnableEvents = True End Sub
上記のコードでやりたいことは出来ていますが問題があり困っています。
値のみでペーストはされますがペーストされた文字をDeleteキーで消せなくBacsspaceのみでしか削除できません。また間違ったセルに貼付けたため戻る操作ができず困っています。大変申し訳ありませんがお力を頂きたくよろしくお願いします。
< 使用 Excel:Excel2021、使用 OS:Windows10 >
(もこな2 ) 2025/07/14(月) 07:53:41
前者の話(deleteできない)は、 Application.CutCopyMode で判定して処理を限定することで回避できそうですね。 後者の話はマクロ処理全般に言えることではないかと思います。 (xyz) 2025/07/14(月) 09:03:52
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.