Страницы: 1
RSS
Название листа по ячейке VBA, Нужно сделать активным лист с названием A1(значение ячейки).
 
У меня есть к примеру какое-то значение в ячейке А1 (пусть это значение будет "Лист10"), надо сделать кнопку при нажатии на которую "Лист10" стал активным.
 
Код
Sub Активировать_лист()
Dim SheetName As String

    SheetName = Range("A1")
    
    If SheetName = "" Then
        MsgBox "Название листа не указано!", vbInformation, "Внимание"
        Exit Sub
    End If

    If SheetExist(SheetName) Then
        Worksheets(SheetName).Activate
    Else
        MsgBox "Листа с таким названием нет!", vbInformation, "Внимание"
    End If
End Sub

Function SheetExist(iSheetName As String) As Boolean
    On Error Resume Next
    With Worksheets(iSheetName): End With
    SheetExist = (Err = 0)
    Err.Clear
    On Error GoTo 0
End Function
 
На основе макроса от New
Код
Sub Активировать_лист()
On Error Resume Next
Sheet(CStr(Range("A1").Value))).Select
If Err Then MsgBox "Листа с названием «" &  CStr(Range("A1").Value)) & "» нет!", vbInformation, "Внимание": Exit Sub
End Sub
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
Sheet(
Есть оправданное подозрение, что чего-то не хватает. Какой-то закорючки в коде и нормального названия темы. При чем тут переход????
Изменено: БМВ - 26.10.2020 18:21:25
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ: чего-то не хватает. Какой-то закорючки в коде
Sheets конечно  :D
мэтью
Изменено: Jack Famous - 27.10.2020 10:32:21
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх