ジムは、会社の複数の人が使用するワークブックを持っています。彼は、誰もがセルのグループにデータを追加できるようにする一方で、セルからデータを削除できるユーザーを制限する方法があるかどうか疑問に思います。彼には、データを追加できるようにしたい約50人のグループがありますが、削除機能を2人だけに与えたいと考えています。

試すことができるマクロベースのソリューションはいくつもあります。基本的に、情報が削除されたことを検出し、情報を削除する人が削除する権限を持っているかどうかを確認するためのマクロが必要です。以下は、この問題に対する1つの可能なアプローチです。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim sPassCheck As String     Dim rng As Range     Dim sTemp As String     Dim sPassword As String

sPassword = "Password"

sTemp = "You must enter the password to delete data"



'Use to set a single cell if more than one cell is     'in the target range     If Target.Count > 1 Then         Set rng = Target.Cells(1, 1)

Else         Set rng = Target     End If

If rng.Value = "" Then         sPassCheck = InputBox(sTemp, "Delete check!")

Application.EnableEvents = False         If sPassCheck <> sPassword Then Application.Undo     End If

Application.EnableEvents = True End Sub

マクロは、実際にはワークシート内の何かが変更されるたびにトリガーされるイベントハンドラーであり、セル(または範囲の左上のセル)の情報が削除されたかどうかを確認します。その場合、ユーザーはパスワードの入力を求められます。その人がパスワードを持っていない場合、その人の削除を「元に戻す」ためにUndoメソッドが呼び出されます。 (sPassword変数に割り当てられたパスワードを変更する必要があります)ユーザーに使用させたい実際のパスワードに変更します。)

もう1つのオプションは、セキュリティの問題を処理できるExcelアドインを使用することです。一部のサブスクライバーは、無料版またはプロ(有料)版のいずれかで提供されるA-Toolsの使用を提案しています。このアドインの詳細については、

を参照してください。

http://www.atoolspro.com/

A-Toolsを使用すると、ネットワーク上に存在するExcelデータにさまざまなセキュリティ機能を適用できるようになります。 (ジムが自分のワークブックをネットワーク上で共有している可能性は高いです。これは、彼の会社の多くの人々によって使用されているためです。)

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11597)は、Microsoft Excel 97、2000、2002、および2003に適用されます。

Excel(Excel 2007以降)のリボンインターフェイスに関するこのヒントのバージョンは、次の場所にあります: