• 締切済み

EXCELでのコピー&ペーストを含む複製処理の禁止方法について

EXCELで質問です。 セルに入力している文字を、同一シートの他のセルにコピー&ペーストを含む複製処理を禁止させたいです。 右クリック無効や、ショートカットキー無効のVBAで、セル単位での複製処理を禁止させる事は他の方の質問/回答でできましたが、関数などを入力するところ?(正確な名前がわからず、すいません)については、複製処理ができてしまいます。 VBAでこの場所も複製処理ができないようにする方法を教えて頂けないでしょうか。 ちなみにシート単位で設定をしたいです。 当方、VBAについては、初心者ですのでどこにどういうふうに、どういう内容(ソース)を設定すればよいか詳しくお願いします。

みんなの回答

  • maac777
  • ベストアンサー率50% (43/86)
回答No.4

No.3です。 >ワークシートのイベントを監視して、再度表示されないようにする は、Private Sub Worksheet_SelectionChange(ByVal Target As Range) のような感じで表示メニューの操作を監視できると思って書いたのですが、 実際にやってみると上手く行きませんでした。いい加減な回答で申し訳なかったです。 かわりに、セルの保護の設定で、ロックのチェックをはずす→表示しないにチェックを入れる→シートを保護する でどうでしょう?数式バーには内容が表示されなくなります。

  • maac777
  • ベストアンサー率50% (43/86)
回答No.3

残りの問題が数式バーだけなら、数式バーを非表示にするのではだめでしょうか? Application.DisplayFormulaBar = False  ワークシートのイベントを監視して、再度表示されないようにする必要がありそうですが。

061156
質問者

補足

アドバイスありがとうございます。 ところで、ワークシートのイベントを監視して、再度表示されないようにする とは、どういう事を意味するのでしょうか? スキルがなくて申し訳ないです。

  • maac777
  • ベストアンサー率50% (43/86)
回答No.2

VBAを使わなくても、ご希望の動作は可能なのでは? コピー&ペーストされたくないセルの書式設定で保護タブ内の 「ロック」にチェック、許可するセルの「ロック」はチェックをはずす。 ツール→保護→シートの保護→ロックされたセル範囲の選択のチェックをはずす→OK で良さそうですが、もし質問の意図を取り違えていたらごめんなさい。

061156
質問者

補足

すみません、せっかく回答頂いたのに肝心な事を書き忘れていました。 セル及び数式バーでの全ての複製処理を禁止した上で、セルへの直接手入力だけは可能という制限をつけたいです。 この制限はVBAで可能でしょうか? 可能であればVBAのソースを教えて頂けないでしょうか?

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

数式バーに表示された物までとなると無理でしょうね。 あとは、セルの移動を禁止(セルを選択すると特定セルに移動)させるようなVBAを使うしか無いと思います。

061156
質問者

お礼

そうですか。 回答ありがとうございました。 数式バーには入力しないように気をつけることとします。

関連するQ&A

  • Excelでのコピーペースト

    超ど素人です。教えていただきたいことがあります。 Excelで作成した表を他のワークシートに複製したい場合、 コピー→ペーストすれば数値や値はそのまま複製されますが セルのサイズは複製先のワークシートのサイズのままです。 セルのサイズまでそのまま複製することはできないのでしょうか?

  • Excelでコピー&ペーストを制限する

    もし有効な方法があったら教えてください。 Excelで予算案を作成・集計しているのですが、各課が申請の度に前回のデータをそっくりそのままコピー&ペーストして提出してくるので、新規ブックに既存のデータをコピー&ペーストすることを禁止したいと考えています。 コピー&ペーストを制限し、入力を手打ちで行わせるだけでも、それぞれの予算項目について再度考える時間と申請の重要さを認識してもえるのではないかという苦肉の策です。 以上の様な状況から、 (1)別のファイル、別のシートからのコピー&ペーストを制限する (2)各セルへの入力はキーボードによる入力でのみ可能 このように設定することは可能でしょうか? ちなみにOSはWindowsXPで、オフィスはXPと2003が混在する環境です。 よろしくお願いいたします。

  • Excelのコピー&ペーストについて

    関数や計算式等をコピペしたいのではなく、関数や計算式等でセルに表示された文字自体をコピペしたいのですが方法はありますか? <例> Sheet1のA1に「=B1」と入力して、B1が2だったためセルには「2」と表示されます。 そのセルをコピーしてSheet2のA1にペーストすると「=B1」となります。 そうじゃなくて、セルに表示された「2」自体をコピペしたいんです。 皆様の知識をお貸しください。

  • エクセルのペースト方法

    教えてください。お願いします。 エクセルでA列に100個の文字列連続で入力されています。 別なシートに1セルつづあいているように ペーストしたいのですが。 (A列に100個の文字が入っているので使用されいるのは、A100のセルまでですが、別なシートにペーストされた際には、A200に最後の文字が入っているようにしたい)

  • VBA コピー&ペースト

    次の作業をVBAでマクロを組みたいのですが、どのような構文にすればよいでしょうか。VBA初心者のため、お知恵を拝借させてください。 [目的] 1.ブックA(コピー先)に設定したハイパーリンク先のブックB(コピー元)へジャンプ 2.ブックBへジャンプ後、特定のセルの値をコピー 3.コピーした値をブックAの特定セルへペースト 4. 1.~3.の作業をリピート 対象は、上の作業が未完(ブックAのペースト先のセルがブランク)のもの [詳細] ・ブックB(リンク先)の保存先はサーバー ・リンク先はブックBの特定のシート ・ブックAで設定したハイパーリンクのセルの値がリンク先のシート名 ・ブックBは複数、リンク先のシートも複数(ハイパーリンクごとにリンク先が異なる) ・ブックBにはマクロが設定、開くたびにマクロ有効無効のメッセージ(Excel2003のため) ・コピペする項目は3つ ・ブックA,Bともに開いた状態で、2.~4.のリピートというマクロでも構いません。 以上ですが、他に情報が必要でしたらお申しつけください。 よろしくお願いいたします。

  • エクセルのVBAで、異なるブック間でのコピー&ペースト

    こんばんは。 エクセルのVBAで、異なるブック間でのコピー&ペーストに関しての質問です。 現在アクティブになっているシートのB4セルをコピーして、 現在開いているシートのブックとは異なる特定の ブック(”Book1")の特定のシート(”Sheet1”)のC5セルに貼り付けたい場合、 ●●●の部分に何と表現すればよいか教えてください。 Range("B4").Copy Destination:=●●● よろしくお願いいたします。

  • Excelで千単位で表示した数字を他にコピーしたい

    分かりにくいタイトルで申し訳ありません。 Excelに大きな金額を入力し、そこを千円単位で表示させています。(セルの書式設定「#,##0,」) その千円単位の数字を千円単位のままで他のシートにコピー&ペーストする方法が分からず困っています。(数値としてペーストすると円単位に戻ってしまう) ペーストする先のシートには既に千円単位の数字が入っており、それらと一緒に計算したいので、千円単位に換算した形でペーストしたいという要望です。 ご存じの方がおられましたら、ぜひ教えてください。宜しくお願いいたします。

  • 【エクセル】プルダウン設定のシートを複製コピーする方法

    エクセルでプルダウンが設定されているシートを、複製コピーして 同じシート内で増やす方法を教えてください。 新しいシートを挿入で増やし、元データのシートの左上(A列と1行の角)をクリックし オールコピーして、新しいシートに同じくオールペーストすると、 プルダウン設定だけがすべて消えてしまいます。 よろしくお願いします。

  • エクセル 書きこみ禁止のコピー

    エクセルで在庫表を作成し、数量のみを入力すれば、自動計算で在庫品総額が出るものを作製しました。その後、複数の人間が使用する為、「数式の入れてあるセルを消してしまう」といったトラブルがあり、「特定のセルへの書き込み禁止する」方法を知り実践していて思ったのですが、シート数だけで50近いし、各シートのページ数も多いところは20ページくらいあります。 これをひとつひとつ、書き込み禁止にしていくのはかなり面倒です。 最初に書き込み禁止にした完成形をコピーして作成すれば問題無かったのですが・・・・・。 何か良い方法はありますでしょうか?エクセル VBAとか使わないと無理でしょうか?ちなみにマクロの知識は全くありません。

  • EXCELでの重複入力禁止を実現するVBAについて

    EXCELの重複入力禁止についての質問です。 重複入力禁止は、大きく分けて関数、入力規則を使っての設定と、VBAを使って設定の2つに分かれると思いますが(違っていたらすいません)今回、予め入力規則を設定しているセルに対し、重複入力の禁止を設定したいため、VBAで実現したいと考えています。 設定したいのは、A列、B列の2列を対象として、同じ内容の行がある場合はエラー表示させて、重複しているシートを赤く塗りつぶすような動作を考えています。例えば、A1とA2は一致するが、B1とB2が異なるといった一列だけの判断ではなく、A1、B1の内容とA2、B2に入力している内容が完全に一致した場合、エラー表示させて、A1、B1、A2、B2セルを赤く塗りつぶす動作になります。(2列1行という言い方が正確かどうかわかりませんが、上記のような内容を希望しています。) また、空白は対象外と考えます。 上記のようなVBAを作成したいのですが、当方まだまだVBAを勉強段階で自分でソースを作成することが難しいです。 ソースを教えて頂けないでしょうか? また、可能であれば、A、B、C3列を対象としたVBAについても教えていただけると非常に助かります。

専門家に質問してみよう