Excelの質問です。一つのブック内に複数のシートがありますが、特定のシートを開いたら「初回だけ」、【色付きセルは入力禁止!】という注意を促すダイアログを表示したいです。2回目以降は表示されないようにしたいです。

ExcelのVBAを使用して、特定のシートを開いたときに「初回だけ」ダイアログを表示し、2回目以降は表示されないようにする方法を説明します。

まず、VBAエディタを開き、特定のシートのコードモジュールを選択します。選択したシートのコードモジュールが表示されない場合は、シートを右クリックし、「コード表示」を選択してください。

次に、以下のVBAコードを挿入します。

“`vba
Private Sub Worksheet_Activate()
Dim ws As Worksheet
Dim msgBoxResult As VbMsgBoxResult

Set ws = ThisWorkbook.Sheets(“シート名”) ‘ 表示するシート名に置き換えてください

If ws.Cells(1, 1).Value “表示済み” Then
msgBoxResult = MsgBox(“初回だけ表示されるメッセージです。”, vbInformation + vbOKCancel)
If msgBoxResult = vbCancel Then
ws.Cells(1, 1).Value = “表示済み”
End If
End If
End Sub
“`

「シート名」の部分を、表示するダイアログを持つシートの名前に置き換えてください。また、「初回だけ表示されるメッセージです。」の部分を、実際に表示したいメッセージに編集してください。

このVBAコードは、指定したシートがアクティブになるたびに実行されます。コードの最初で、指定したシートの参照を取得します。次に、セルA1の値が「表示済み」でない場合に、メッセージボックスが表示されます。ユーザーがOKボタンをクリックした場合、セルA1に「表示済み」という値が入力され、2回目以降はメッセージボックスが表示されなくなります。キャンセルボタンをクリックした場合は、セルA1の値が変更されず、次回シートがアクティブになったときに再びメッセージボックスが表示されます。

最後に、VBAエディタを閉じて、Excelブックを保存します。

これで、指定したシートを開いた際に「初回だけ」ダイアログが表示され、2回目以降は表示されないようになります。

コメントを残す