Установка публичной переменной не может быть распознана в подпрограмме перед закрытием - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу иметь возможность пропустить некоторые процедуры при закрытии рабочей книги с помощью 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...