- ベストアンサー
エクセル2007のVBEを使っています。セルのコピー貼り付け(形式を選
エクセル2007のVBEを使っています。セルのコピー貼り付け(形式を選択して貼り付けを含む)はデータのみ可能 にして他はすべて不可能にする簡単な方法はないでしょうか。これを行うと複数の名前を入力する欄の書式が壊れてしまうのです。webでApplication.CutCopyMode = false を使ったものを2件見つけて試してみましたがうまくいきません。よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>これを行うと複数の名前を入力する欄の書式が壊れてしまうのです。 [データの入力規則]の事でしょうか? その場合、考え方を変えて、コピー後にその入力規則が壊れた時だけ修復すれば良いのではないでしょうか。 入力規則を設定した範囲は限定されているでしょうから、そのほうが効率的だと思います。 以下はB1:B100の入力規則を設定し直す例。 '該当SheetModule Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range Dim x Set Target = Intersect(Target, Range("B1:B100")) If Not Target Is Nothing Then On Error Resume Next For Each r In Target x = r.Validation.Type If Err.Number <> 0 Then r.Validation.Add Type:=xlValidateList, _ AlertStyle:=xlValidAlertInformation, _ Formula1:="=$A$1:$A$3" End If Next On Error GoTo 0 Set Target = Nothing End If End Sub #書式設定が必要な場合はそれも適宜追加すれば良いです。
お礼
長いマクロお手数をおかけし、ありがとうございました。 書式は入力規則ほか書式設定ダイアログ等すべてですので、回答頂いたとおり壊れた後に修復する方法でうまくいきました。ありがとうございました。