Я хочу иметь возможность пропустить некоторые процедуры при закрытии рабочей книги с помощью Private Sub Workbook_BeforeClose (Cancel As Boolean) в зависимости от имени рабочей книги.
Когда я проверяю код переменной в некоторых подпрограммах теста, значение переменной корректно обновляется, но когда я запрашиваю значение переменной перед закрытием, оно не распознает значение переменной, установленное в начале подпрограммы основной рабочей книги.
'here I set the variable
Public intA As Integer
Private Sub WorkBook_Open()
Dim WbookCheck As Workbook
On Error Resume Next
Set WbookCheck = Workbooks("book1.xlsm")
On Error GoTo 0
If WbookCheck Is Nothing Then 'not open....
MsgBox "Variable has been set"
intA = 2
End If
'Now here is where i want the variable intA to keep its value of 2
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If intA = 2 Then GoTo File_Wrong
Application.Run "Module1.Full_Access"
Application.Run "Module1.No_Access"
Sheets("Welcome").Visible = True
ActiveWorkbook.Close SaveChanges:=True
MsgBox "Sheet will close. It has been reset & saved"
End
File_Wrong:
MsgBox "file wrong - sheet has not been saved!"
With ThisWorkbook
.Save
.Close SaveChanges:=False
End With
Application.Quit
End Sub