保護されたワークシート(Microsoft Excel)でのマクロボタンの動作の修正
ロビンはExcelの奇妙さについて質問した。彼女は、フォームツールバーを使用して描画されたボタンを含むワークシートを作成し、ボタンにマクロを割り当てます。ワークシートが保護されるまでボタンは正常に機能し、その後、ワークシートの上部セクション全体がボタンとして機能します。 (マウスをどこに動かしても手のアイコンが表示され、マクロをクリックすると実行されます。ボタン自体をクリックする必要はありません。)
この問題は、フォームツールバーのすべての項目で発生するわけではなく、特定の状況でのみ発生します。これは主に、マクロボタンがセル(セルB2など)に関連付けられ、その後セルが削除されるために発生します。これは、ボタンが本質的に「接続されていない」ことを意味するため、Excelはボタンがどこに属するかについて混乱しています。ワークシートが保護されている場合、Excelはボタンがどこにあるかを実際には知らないため、ボタンが「どこにでも」あると信じているため、奇妙な動作をします。
明らかな解決策は、マクロボタンが削除されないセルに常に接続されていることを確認することです。ブックの保護を解除し、列ヘッダーの近くにあるボタンのスライバーを選択して、関連付けたいセルに移動します。ワークシートを再保護すると、奇妙な動作が消えるはずです。
問題の原因となっているボタンが表示されない場合は、ボタンが小さすぎることが原因である可能性があります。この状況の解決策は、ワークシート内のすべてのボタンを検索して表示するマクロを実行することです。保護されていないワークシートで、以下を実行します:
Sub CheckShapes() Dim myShape As Shape For Each myShape In ActiveSheet.Shapes With myShape If .Height < 2 Then .Height = 20 If .Width < 2 Then .Width = 20 End With Next myShape End Sub
マクロはワークシート内のすべての図形をステップスルーし、高さまたは幅が2ピクセル未満の場合は、高さと幅を増やして表示します。これで、マクロボタンが表示され、ワークシート上の場所にドラッグしたり、削除したりできるようになります。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2830)は、Microsoft Excel 97、2000、2002、および2003に適用されます。