- ベストアンサー
EXCEL、セルのコピー・貼り付けを禁止したい
Wendy02の回答
- Wendy02
- ベストアンサー率57% (3570/6232)
#3 の訂正です。 Private Sub Workbook_BeforeClose(Cancel As Boolean) With Worksheets("Sheet1") 'プロテクトの保護を解除すれば、コピー等は出来ます。 .Unprotect Password:="xxx" '←ここ 'パスワードを入れればパスワードが必要でした。 End With End Sub なお、Application.CutCopyMode での制御は、少なくとも、Copy は効きます。 貼り付け場所を制限させるだけですから、あまり芳しくありません。 このほかにも、プロテクトせずに、ExcelのCopy/Paste のすべての機能を不可にする方法があります。 なお、以下をそれぞれのモジュールに貼り付けたら、一旦、保存して起動してください。これは、すべてのシートに適用されます。そのブックを閉じれば、機能は回復します。なお、私は、ひさびさに、この種のマクロを書いたので、抜け落ちがあるかもしれませんが、その時は、ご容赦願います。十分にテストをしてみてください。 '----------------------------------------------------------------- '標準モジュール Sub DisableCommandButtons(Cmd_bln As Boolean) 'コピー・貼り付けを停止させるサブルーチン・マクロ Dim cmd As Variant Dim Cmdb As Object 'ショートカットのインスタンス If Cmd_bln = False Then Application.OnKey "^c", "" Application.OnKey "^v", "" Application.OnKey "^x", "" Else Application.OnKey "^c" Application.OnKey "^v" Application.OnKey "^x" End If 'コマンドボタンのEnable For Each cmd In Array(1, 20, 24, 25) '"Menubar","Cell","Column","Row" If cmd = 1 Then With Application.CommandBars(cmd).Controls(2) .Controls(3).Enabled = Cmd_bln .Controls(4).Enabled = Cmd_bln .Controls(5).Enabled = Cmd_bln End With Else With Application.CommandBars(cmd) .FindControl(, 19).Enabled = Cmd_bln 'Copy .FindControl(, 22).Enabled = Cmd_bln 'Paste .FindControl(, 21).Enabled = Cmd_bln 'Cut End With End If Next cmd End Sub '----------------------------------------------------------------- 'ThisWorkbook モジュールへ Private Sub Workbook_Open() Call DisableCommandButtons(False) End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Call DisableCommandButtons(True) End Sub '-----------------------------------------------------------------
関連するQ&A
- EXCELで可視セルのコピー貼り付け
記憶があいまいになったので教えてください。 EXCELで単純にコピー貼り付けでは正しい処理がされず、 編集メニューのジャンプー可視セルをコピー貼り付けで正しい処理が されるのは、どういう場合だったでしょうか。
- ベストアンサー
- オフィス系ソフト
- Excelのコピー、貼り付けがうまききません。
Vistaを使っております。Excelで、友人から送られてきたA4の表(各セルに文字が入っています)を コピーして、新しいExcelに貼り付けますと、各セルがすごく大きくなって、しまいます。 送られてきたままのサイズで貼り付けは出来ないものなのでしょうか。教えて頂きたく、よろしくお願いいたします。
- 締切済み
- Windows Vista
- エクセルにコピーすると セルがまたがってしまいます
ホームページや何かの文章をコピーして、エクセルに貼り付けをすると、セルをまたいで、貼り付けとなってしまいます。一つのセルにまとめて貼り付けしたいのに、隣のセルに次々と文字が貼り付けとなってしまいます。文章の文字にスペースがあれば 隣のセルに貼り付けとなってしまうようです。少し前に友人からもらったエクセルデーターのマクロつきのものをいじってからです。もとに戻す方法ないでしょうか?どうかよろしくお願いします。
- ベストアンサー
- Windows Vista
- excelのコピーと貼り付け
excelでフィルターを使って折りたたんでいる状態で可視セル部分をコピーし、隣の列にコピーするにはどうしたらよいのでしょうか? 私はコピーしたい部分を選択し、[編集]→(ジャンプ)の可視セル→コピーとして貼り付けたい部分に貼り付けするのですが、うまくいきません。教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセル セルのコピーができない。
エクセルでセルをコピー&貼付けがうまくできなくなりました。 セルをコピーしてもテキストしか認識されずに、貼り付けるとセルの書式設定等は全くついてきません。 また、行や列毎コピーして挿入することもできなくなりました。 形式を選択して貼り付けを選択すると、Unicodeテキストかテキストの2つから選ぶ画面しか出てこず、 通常の値、数式、書式設定等を選ぶ画面も出てきません。 とくに何かエクセルの設定を変えた覚えはないので、なぜこうなったのかわかりません。 どうしたら、通常のセルのコピーができるようになりますでしょうか。
- ベストアンサー
- その他MS Office製品
- Excelのコピー&貼り付け
Excelのコピー&貼り付けでWin7、Office2010の場合はセル幅の違う表をコピーして 貼り付けアイコンの▼をクリックすると「元の列幅を保持」が表示するのですが、 VistaのOffice2007の場合はどこから表示させるのですか?
- ベストアンサー
- その他MS Office製品
- Excel2007 「書式のコピー/貼り付け」ができない
教えてください Excel2007 「書式のコピー/貼り付け」ができません 当方が行った手順 (1)「計算式」が入力された、セル「B23」を選択 (2)ツールアイコン「書式のコピー/貼り付け」(刷毛)を選択 (3)マウスポインタが「刷毛」に変わる (4)貼り付け先、セル「H23」をクリック (5)セル「H23」は何の変化もなく、貼り付けができない 原因と対策を教えてください
- ベストアンサー
- Windows Vista
- セルのコピーアンド貼り付け
指定のセルをコピーし別のワークシートへ貼り付けする際、 常にデータ最後の空白に貼り付けされるようにするには どうするのが宜しいでしょうか。
- 締切済み
- Visual Basic
- エクセルで?簡単にコピー、貼り付けしたい!
エクセルのセルのデータを簡単にコピー、貼り付けをしたいです。 A列にタイトル B列にURL C列に本文(1つのセルに300文字適度で改行が含まれる) が約500件ほど入っているとします。 今、やっている作業はAタイトル、BURL、C本文を1つずつ手作業でコピーして別のソフトに貼り付けると言う作業を行っています。 また、Cの本文はそのままコピーして貼り付けするとダブルクォーテーションが入ってしまう為、セルの内容だけをコピーして貼り付けていると言うめんどくさい作業を行っています。 そこで質問なのですが、例えば、A1,B1,C1など各セルにカーソルにおいた状態でボタンを押せば簡単に貼り付けができるようにしたいのですが、こんな事は出来ないでしょうか? 只今、約50件ぐらいまで手作業で行ったのですが、面倒なので簡単に出来る方法を探しています。 何かいい方法はないでしょうか? よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセル上でセルのコピーペーストが出来ません。。。
エクセル上でセルのコピーペーストが出来ません。。。 どなたかご教示いただけますと助かります もう何年もエクセルを使用していて始めての経験なのですが 私は毎日仕事でエクセルにて表を作成しております その作業中に過去と同じデータも頻繁に出てくるのでそういった場合は いくつかのセルをでコピペして使用してます (同じフォーマット上に同じセル数で) ところが最近その作業をする際にコピー元のデータのセルを纏めてコピーして コピー先に貼り付けようとすると貼り付けの表示が出ず貼り付けが出来くなることが頻発してます 他のソフト(メーラーやメモ帳)や同じエクセル上でもテキストだけのコピペは出来るのですが セルの貼り付けが出来ないようです もっと細かく言うと通常はセルをコピーするとその選択中は選択されたセルが点線でくくられ点滅しておりますが一瞬点滅した後通常の状態に戻ってしまいます ですので選択されていない状態に戻ってしまうので貼り付けが出来ないようです 更に言うとクリップボードを表示すると上記状態にもかかわらず一応ボード上にはコピー選択したセルの内容が書き込まれそれを選択すると一応コピーは出来ますのでなんとか仕事はこなせます ですが普通のいわゆるセルのコピペが手軽に出来なくて非常に困っております 本当にここ1週間くらいから頻発するようになった不具合です PC、ソフト再起動後などでは出来たりすることもあり、なんだか設定とかの問題でもないような気がします もちろんそんな特殊な設定をいじったつもりもありません 一応自動修復というのもかけてみましたが変わりません なんだかよく分からない状態です これが出ると作業が全くはかどらなくなりかなり困ってます ちなみに使用環境はVISTA(BUISINESS)のSP2というOS上でエクセル2003です どなたたかご教示いただけますと幸いです 宜しく御願い致します
- ベストアンサー
- オフィス系ソフト
補足
コメントが遅くなって大変申し訳ありませんでした。 ご回答いただいた通りに記述してみましたが、 オープン時・クローズ時に .FindControl(, 19).Enabled = Cmd_bln 'Copy ↑上記ステップにて 実行時エラー'91': オブジェクト変数または With ブロック変数が設定されていません。 となります。 どのように変更すればよろしいでしょうか?