A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
ごめんなさい。
記述ミスがありました。下記の部分を訂正してみて下さい。誤)On Eror GoTo Err_fin
正)On Error GoTo Err_fin
ちなみに、エラーが表示されるのは、コピーをせずにペーストしたような場合だけですよね?通常のコピペでできないような操作を行うと、MyPasteでも当然エラーになります。エラーになった場合は、"貼り付けに失敗しました。"のメッセージが表示されるはずです。
No.5
- 回答日時:
「プロシジャというものが分からない」とのことなので、ちょっと厳しいかもしれませんが、暇つぶしに読んでみて下さい。
まず、次のマクロを標準モジュールに張り付けます。このマクロ(MyPaste)は、選択されたセルに、値で張り付けをするものです。
Sub MyPaste()
On Eror GoTo Err_fin
Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone
Exit Sub
Err_fin:
MsgBox "貼り付けに失敗しました。"
End Sub
次に、ThisWorkbookの下のWorkbook_Openイベントプロシジャに下記のマクロを張り付けます。
Private Sub Workbook_Open()
Worksheets("Sheet1").Protect userinterfaceonly:=True
Application.OnKey "^v", "MyPaste"
Application.CommandBars("cell").Reset
With Application.CommandBars("cell").Controls.Add(before:=1, temporary:=True)
.Caption = "貼り付けは、こちらで!!"
.OnAction = "MyPaste"
End With
End Sub
このマクロは、まず、Sheet1に保護をかけます。保護の内容は「ユーザの操作は拒否するが、マクロからの変更は許可する」というものです。これにより、通常の操作ではペーストができなくなります。
次に「Cntl+v」で、マクロMyPasteを起動するように設定します。
さらに、セルの右クリックメニューに、「貼り付けは、こちらで!!」メニューを追加します。
これで、すべの貼り付け動作は、MyPasteで行うことになります。
ご回答ありがとうございます。貼り付けはこちらで!!というメニューが追加されました!
しかしながら私の力量不足なのか、貼り付けはこちらで!!というボタンを押したり、Cntl+vで
貼り付けをしようとすると 実行時エラー1004 RangeクラスのPasteSpecial メソッドが失敗しましたとでます
マクロの計算式を作る画面で、右クリック→挿入→標準モジュールでModule1というものがでてきてそこに
Sub MyPaste()
On Eror GoTo Err_fin
Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone
Exit Sub
Err_fin:
MsgBox "貼り付けに失敗しました。"
End Sub
を貼り付けて、次にThisWorkbookで(General)というものをWorkbookに選びなおして、そこに
Private Sub Workbook_Open()
Worksheets("Sheet1").Protect userinterfaceonly:=True
Application.OnKey "^v", "MyPaste"
Application.CommandBars("cell").Reset
With Application.CommandBars("cell").Controls.Add(before:=1, temporary:=True)
.Caption = "貼り付けは、こちらで!!"
.OnAction = "MyPaste"
End With
End Sub
を貼り付けてやってみました。シートの名前はSheet1で間違いありません。
私の操作で何か間違いが有りましたらご教授ください・・
No.4
- 回答日時:
自分も「シートの保護」を薦める。
それで思うようにならなければ、他の手段を検討してはどうだろう。
シートの保護で、保護や禁止できる項目はたくさんあるので、
いくつかを組み合わせることで質問にあることができると思います。
(多少の試行錯誤は覚悟してください)
ご回答ありがとうございます。
シートの保護は存じていました。しかしながら、他のシートから貼り付けを禁止にしたり、書式を変えずに
値だけ貼り付けできるようにする項目設定の組み合わせは見つかりませんでした。もしあるようであれば
ご教授いだたければ幸いです。
No.3
- 回答日時:
★方法1
Ctrl+C,V が動作しないようにしておく、という方法です。
簡単には標準モジュールにプロシージャーを2つ置いて、
それに、Ctrl+CとVのショートカットキーを割り当てるだけです。
例えば、標準モジュールに以下があるとして。
--------------- Ctrl+C を割り当て----------
Sub Ctrl_C()
MsgBox "Ctrl+C は使わんでね"
End Sub
--------------- Ctrl+V を割り当て----------
Sub Ctrl_V()
MsgBox "Ctrl+V は使わんでね"
End Sub
----------------------------------------------
以上です。
★方法2
標準モジュールではなく該当のシートのモジュールに以下をコピペしてください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
Exit Sub
Else
MsgBox "複数セルを同時に変更しないでねん。!"
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
以上です。
ご回答ありがとうございます。
上記マクロを組んだのですが禁止にはなりませんでした・・
あと、右クリック→コピー 右クリック→貼り付けをする方にもこの方法は対応しているのでしょうか?
No.2
- 回答日時:
別方法の提案です。
問題の生じていないシートをコピーして、コピーしたシートを「表示しない」状態にしておいて、必要に応じてそれから書式など必要な物だけを張り付けたらいかがでしょうか?
この動作をマクロ記録しておけば、起動時などに自動で修復も可能になると思います。
ご回答ありがとうございます。
その方式でも良いのですが、例えば、中央揃えになってしまっているとかちょっとした設定も全部コピーの大元から
引き継いでいたり、データが膨大になっていると毎回その作業をする、あるいはチェック漏れがあることもあるので今回
質問させていただきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロ作成初心者です。CSVファイルの日付データについて 3 2022/12/14 06:02
- その他(Microsoft Office) EXCEL2007 右クリックに「値を貼り付け」がない プライベートのパソコンを購入し(window 3 2022/04/13 23:10
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Windows Vista・XP windows10 フォルダを上書きするときに、元のフォルダを全て削除してコピーする方法 3 2022/05/22 00:53
- Windows 10 エクセルの罫線がパワポに貼り付けると見えなくなる。 3 2022/12/27 15:23
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
- Word(ワード) テキストデータのPDFをWordで開くとテキストが図として認識されてしまう 3 2023/01/24 11:38
- Excel(エクセル) エクセルのファイルにリンクを貼る方法 4 2023/06/30 11:09
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Excelで書式の変更を禁止しデータ入力だけ許可したい
Excel(エクセル)
-
EXCEL 表の書式のみ変更不可(保護)したい
Excel(エクセル)
-
エクセルで貼付けの際、常に「値の貼付け」を使いたい
Excel(エクセル)
-
-
4
VBAで、貼り付け禁止命令を実現したい(エクセル)
Visual Basic(VBA)
-
5
エクセルのセルをコピーした際にルールはコピーしない
その他(Microsoft Office)
-
6
Excelで数式内の文字色を一部だけ変更したい
Excel(エクセル)
-
7
Excel 条件によって入力禁止にする
Excel(エクセル)
-
8
Excelの条件付き書式を崩されたくない
Excel(エクセル)
-
9
EXCEL、セルのコピー・貼り付けを禁止したい
Excel(エクセル)
-
10
エクセルファイルのシート毎の容量
Excel(エクセル)
-
11
すでにコピーした情報を貼り付けたらイベントを発生
PowerPoint(パワーポイント)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
エクセルでエラーが出て困っています。
Excel(エクセル)
-
14
エクセル 入力規則 貼付しても規則が変わらないようにするには?
Excel(エクセル)
-
15
貼り付けをマクロで禁止させたい。
Excel(エクセル)
-
16
VBAでセルがコピーされているか判定したい
Excel(エクセル)
-
17
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
18
コピー後に値のみ貼り付け エクセル、VBAの記述について
Excel(エクセル)
-
19
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
20
Excel にて条件付き書式の色にさらに上塗りをしたいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを値でのみし...
-
【Excel】マクロでページを追加...
-
エクセル 図形の寸法を取得したい
-
エクセル連番自動印刷について
-
エクセルのマクロについて教え...
-
Excelでマクロ実行中に画面を固...
-
VBA Shapes コピーと名前
-
VBAで行コピーして挿入
-
セルに入力するたびにマクロを...
-
ブックの共有でVBAエラー
-
エクセルVBAで納期管理システム...
-
エクセルでマクロ登録の不具合解消
-
シート名を記入する
-
エクセルのマクロを教えてください
-
【ExcelVBA】マクロブックを通...
-
VBでエクセルに罫線を引くには?
-
エクセル マクロ写真帳に一括で...
-
エクセルファイルの回数期限の...
-
VB.NETによるEXCELの行挿入
-
worksheet_changeの一時無効化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを値でのみし...
-
Excelでマクロ実行中に画面を固...
-
エクセル連番自動印刷について
-
VBA Shapes コピーと名前
-
エクセル マクロ写真帳に一括で...
-
EXCEL VBA 他のアプリケーショ...
-
【Excel】マクロでページを追加...
-
セルに入力するたびにマクロを...
-
ブックの共有でVBAエラー
-
エクセル 図形の寸法を取得したい
-
エクセルVBAで納期管理システム...
-
EXCEL 行番号や列番号が選択で...
-
VBAで行コピーして挿入
-
エクセルファイルの回数期限の...
-
グラフ要素のセルを参照したい...
-
エクセルでマクロ登録の不具合解消
-
再度,ExcelVBA,public変数が消える
-
VB.NETによるEXCELの行挿入
-
ExcelのVBAで自動採番したい...
-
【ExcelVBA】マクロブックを通...
おすすめ情報
質問の具体例を下記に示します
他のシステム、あるいはエクセルシート、エクセルブックのある箇所をコピーして、貼り付け先には通常ダブルクリックしてから貼り付け、あるいは数式バーにカーソルを持っていって貼り付けするところを、そのままセルの上でctrl+V,あるいは右クリック→貼付で貼付けを行う
すると結果的に、コピー元の値以外の書式(罫線)だったり文字の中央揃えなど細かい設定まで貼付けされてしまうといった現象です
申し訳ないです。プロシージャというものについて存じていないため同じものを再現できない事に気が付きました。