Страницы: 1
RSS
Как передать значение нужного листа из одного макроса в другой?
 
Добрый день!
Как сделать выбор листа, в зависимости от макроса, из которого вызывается vst?

Код
Sub vstavka_na_list_1()
    Call vst
End Sub

Sub vstavka_na_list_2()
    Call vst
End Sub

Sub vst()
    With Sheets(_нужный лист_)
        .Range("A1").Value = 1
    End With
End Sub
 
Разобрался, сделал имя листа через переменную Public
 
Public - это откушенный кусок оперативки от момента открытия книги и до ее закрытия. Не увлекайтесь без необходимости.
Код
Sub vstavka_na_list_1(): Call vst("Sheet1"): End Sub
Sub vstavka_na_list_2(): Call vst("Sheet2"): End Sub
 
Sub vst(sNameSheet As String)
    With Worsheets(sNameSheet)
        .Range("A1").Value = 1
    End With
End Sub

Бывает необходимость передавать лист как объект. Тоже не проблема:
Код
Sub vstavka_na_list_1()
    Dim vst As Worksheet
    
    Set sht = Worsheets("Sheet1")
    Call vst(sht)
    
    Set sht = Nothing
End Sub
 
Sub vst(MySheet As Worksheet)
    With MySheet
        .Range("A1").Value = 1
    End With
End Sub
 
vikttur, Спасибо.
Страницы: 1
Наверх