Вызов значения из другого макроса

#excel #vba

#Excel #vba

Вопрос:

У меня есть пользовательская форма, которая открывает один из списков листов. Я хочу создать макрос, который распознает последний лист, открытый пользовательской формой, а затем запускает проверку данных на основе типов данных на листе.

Как я могу сослаться на открытый лист, чтобы его можно было вызвать позже с помощью макроса проверки?

Вся помощь с благодарностью принята!

Ответ №1:

Вам нужно «запомнить» его в общедоступной переменной.

В стандартном модуле, в верхней части этого модуля, включите:

 Public LastSheet As Worksheet
  

и в пользовательской форме код, подобный:

 Sub WithinUserForm()
    Dim x As String
    x = Application.InputBox(Prompt:="pick a worksheet", Type:=2)
    Sheets(x).Select
    Set LastSheet = ActiveSheet
End Sub
  

Наконец, внутри макроса DV:

 Sub MacroForDV()
    LastSheet.Select
End Sub