Microsoft Excel. Полезные макросы.

С помощью макросов можно сделать практически все, начиная от часто повторяемых действий, заканчивая написанием функций, которых нет в перечне формул.

Три этих макроса, назначенные на кнопки, помогут Вам решить некоторые простейшие задачи при работе с таблицами:

// макрос открывает Лист, название которого содержится в выбранной ячейке

Sub OpenList()
On Error GoTo err_openlist
    Sheets(ActiveCell.Value).Select
exit_openlist:
Exit Sub
err_openlist:
    MsgBox ("Ошибка! Вероятно листа с таким названием нет.")
    GoTo exit_openlist
End Sub

// макрос создает перечень листов

Sub AllList()
    For i = 1 To Sheets.Count
        Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
        Selection.Value = Sheets.Item(i).Name

    Next i
End Sub

// макрос открывает ячейку на которую ссылается формула в выбранной ячейке

Sub openlink()
On Error GoTo err_openlink
Dim MyFormula As String
Dim MyList As String
Dim MyRange As String
Dim tmp
    MyList = ActiveSheet.Name
    MyFormula = ActiveCell.Formula
    tmp = InStr(1, MyFormula, "!")
    If tmp <> 0 Then
        MyList = Mid(MyFormula, 2, tmp - 2)
        If Left(MyList, 1) = "'" Then MyList = Mid(MyList, 2, Len(MyList) - 2)
    End If
    MyRange = Mid(MyFormula, tmp + 1)

    Worksheets(MyList).Activate
    Range(MyRange).Activate

exit_openlink:
    Exit Sub
err_openlink:
    MsgBox ("Ошибка. Не могу перейти на ячейку:" & MyFormula)
    GoTo exit_openlink
End Sub

 

Share this content: