クリスは、セットアップデータを含む2つのコントロールワークシートで構成されるワークブックを持っています。ワークブックのユーザーは、ワークブックに多くの新しいワークシートを作成するマクロを実行します。次に、ユーザーは不要なワークシートを削除します。クリスは、2つのコントロールワークシートが誤って削除されていないことを確認したいと考えています。

これは、他の_ExcelTips_で説明されているように、ブックの構造を保護することである程度達成できます。これにより、ユーザーがワークシートを追加または削除できないように、ワークブックの構造が変更されるのを防ぎます。ユーザーがワークシートを追加および削除できるようにするため、ワークブックの使用方法に2つの変更を加える必要があります。

  • ワークシートを追加するマクロを変更して、シートを追加する前にブックの保護を削除し、シートを追加した後に保護を復元するようにします。

  • ワークシートを削除するマクロ関数を追加します。マクロは、ユーザーがコントロールワークシートを削除しようとしていないことを確認するためにチェックできます。

ユーザーが特定のワークシートを削除しても問題がない場合、マクロはブックの保護を削除し、シートを削除してから、保護を元に戻します。

別のアプローチは、ワークブックにコントロールシートの複製を作成することです。これらのワークシートを非表示にして、ある程度保護します。

次に、マクロは、非表示になっていないコントロールシートが削除されたかどうかを確認できます。もしそうなら、マクロはコントロールシートの非表示バージョンをコピーすることによって別のコントロールシートを作成することができます。

さらに別のアプローチは、現在ワークブックに一連のワークシートを追加しているマクロを変更することです。変更すると、コントロールシートを含む「バックアップ」ワークブックが作成されます。後で、ブックを閉じる前に、コントロールシートをチェックするマクロを呼び出すことができます。それらが存在しない場合、マクロはそれらをバックアップワークブックからコピーします。それらが存在する場合は、バックアップワークブックを削除できます。

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

このヒント(3267)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。