特定のセルをダブルクリックするとユーザーフォームが開くスプレッドシートを作成しています。特定のユーザーが「X」をクリックしてユーザーフォームを閉じると、ブック全体が閉じます(これは意図した動作ではありません)。これは、セルにコンテンツがある場合に発生します。セルが空白の場合、ユーザーフォームを閉じてもブックは閉じません。
ユーザーフォームを呼び出す一般的なコードは次のとおりです。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim requestID As Long
Dim rowCount As Long
rowCount = UsedRange.Rows.Count
If (Target.Row > 2) And (Target.Row <= rowCount) Then
requestID = Cells(Target.Row, 1)
Select Case Target.Column
Case 2 To 4
requestUpdateForm.populate requestID
requestUpdateForm.Show
Case 5
initialSearchForm.populate requestID
initialSearchForm.Show
'etc, more forms using Case statements
End Select
End If
逆の場合を除いて、この動作は以前に見ました。空白のセルから開いたフォームを閉じるために[X]をクリックすると、ブックが閉じました。新しいブックを作成してすべてのコードをコピーすると、この問題は解決しました。
私が困惑しているのは、このエラーが1人のユーザーのシステムで発生していて、別のユーザーのシステムでは発生していないことです。