Excelの保護されていないセルに貼り付けると保護されるのはなぜですか?


12

この質問への答えを調査しているときに、保護されたワークシートの保護されていないセルに関連するExcelの奇妙な動作に出くわしました。

意味を確認するには、新しいブックを作成し、その最初のセル(A1)の保護を解除して、ワークシートを保護します。現在テキストを入力できるセルはA1のみです。次に、他のアプリケーション(ブラウザなど)に移動し、そこからテキストをコピーします。最初のセルを1回クリックして選択し(ダブルクリックしたり、数式バーに貼り付けたりしないでください)、テキストを貼り付けます。

これにより、セルのフォーマットが変更される可能性があるだけでなく、保護フラグも設定されます。その後、ワークシートの保護を解除せずに(または貼り付け操作を元に戻すことなく)セルのコンテンツを再度変更する方法はありません。

何故ですか?これは、Excel 2010(これを試すために使用したバージョン)の望ましい動作ですか、それともバグですか?

回答:


13

良いニュースは、実際に予想される動作(ユーザーによってではなく、Microsoftによって期待される)です。そして、さらに良いニュースである非常に簡単な作業があります。

書式設定されたテキストを貼り付けると、セルに「標準」スタイルが設定され、必要な書式設定が上に重ねられます。デフォルトの「標準」スタイルでは、保護がロックされています。そのため、これが適用されています。

解決策は、「標準」スタイルを変更することです。この問題の解決済みバージョンを複製するには、新しいワークブックを作成してから:

1)[スタイル]セクションの[ホーム]リボンで、[標準]ボックスを右クリックし、[変更]をクリックします。[フォーマット]ボタンを押し、[保護]タブで[ロック]のチェックを外します。(これはこのスプレッドシートにのみ適用されることを忘れないでください。ただし、すべてのセルは保護されずに保護されなくなります)。

2)[すべてのセル]を選択し、右クリックしてセルの書式設定を選択し、保護の下で[ロック]をオンにします。

3)A1のみを選択し、右クリックして、セルのフォーマットを選択し、保護の下でロックを解除します。

4)ワークシートを保護する

ロックされたセルとロックされていないセルに関しては、質問の例と同じポイントに戻りますが、通常のスタイルは異なります。

単語や他の場所からテキストを貼り付けると、セルが保護されなくなります。


Excelで数年間働いた後、私はこの「機能」について知ることにショックを受けました。私が自分自身をチェックするまで、ユーザーがそれについて言ったときさえ信じませんでした:)私の前にあなたが今年出会えてうれしい:D
ZygD

1

以前の回答は、Excel 365の最新バージョンには適用されなくなりました。Excel365の現在のバージョンは、「標準2」または必要なシーケンス番号という名前の新しいスタイルを作成します。変更された通常のスタイルの代わりにロックされた新しいスタイルを適用します。

Excel 365のソリューションを次に示します。他のユーザーが編集できるようにするセルの範囲を選択します。次に、「レビュー」タブに移動します。[変更]セクションで、[ユーザーによる範囲の編集を許可する]をクリックします。「新規」ボタンをクリックします。選択した範囲には、自動生成されたタイトルが自動的に入力されます。必要に応じて手動で変更します。ユーザーがパスワードでのみ変更できるようにしたい場合は、ここで入力できます。パスワードを使用しない方がいいので、「許可」ボタンをクリックしてから「追加」をクリックします。パスワードなしで誰でも編集できるようにしたいので、編集を許可されたユーザーとして「Everyone」と入力します。アクセス許可を理解している場合は、パスワードなしで編集できるユーザーまたはユーザーのセットを選択できます。次に、「OK」をクリックします すべてのウィンドウが閉じられるまで。シートを保護してください。


0

私はそれがなぜ起こっているのか分かりませんが、私に関する限り、それは非常に大きなバグです。:-(

Excelは、セルを再ロックしているテキストとともにテキストの書式設定を貼り付けようとするようです。Match Destination Formatting貼り付けオプションとして選択した場合; メモ帳などのプレーンテキストエディターから貼り付けます。または、Excelの同じインスタンスにある別のワークブックから貼り付けても、セルは引き続きロック解除されます。Excelの別のインスタンスでさえ、テキストの書式設定がある他のアプリケーションから通常の貼り付けを行うと、Excelはロックされていないセルをロックします。

書式設定の問題には、少なくとも別のセルから正しい書式設定をコピーして、めちゃくちゃになったセルに貼り付けることができる回避策があります。


バグではないことがわかりました。私が解決策だと思うものを追加し、あなたが興味があるかもしれないと思った
アレックスアンドロノフ

プレーンテキストとしての貼り付けオプション(または出力先の書式設定)は、スプレッドシートを既に設定しており、通常スタイルを編集してもう一度設定する必要がない場合に最適な方法です。ただし、異なる貼り付けオプションを選択する方法を知っているスプレッドシートのユーザーに依存します。私の経験では、それは非常に少数の人々です!
user535673

0

Webブラウザーからデータを貼り付ける保護されたシート(AtiveCell)で保護されていないセルを選択します。貼り付け後、保護されます。それは望ましくありません:-)

私はこれをしました、そしてそれは動作します!

シートコードでは、私の場合は「Sheet1」:

Sub Worksheet_Change(ByVal Target as Range)

  ...some irellevant code...

  ActiveSheet.Unprotect   
  ActiveCell.Locked=False

  ...code that protects Sheet1

Exit Sub

0

このページの他の全員(および主題)と同様に、これは厄介なものです。ただし、これを回避する最善の方法は(データを挿入するときに「値を貼り付ける」、リンクを貼り付けるときに「特別な貼り付け」-「ハイパーリンク」に貼り付けることです。私は通常、条件付き書式設定にかなり関与しているので、この方法で処理しました。当然、値を貼り付ける必要があります(または条件付き書式設定の変更)。これが役に立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.