2021-11-26 10:17:36
Программа создания списка формул
Ниже приведен пример программы, которую нельзя записать с помощью средства записи макросов Excel. Эта программа создает список всех формул активного рабочего листа, который затем сохраняется на новом рабочем листе.
Sub СписокФормул()
'Объявление используемых переменных
Dim InputRange As Range
Dim OutputSheet As Worksheet
Dim OutputRow As Long
Dim Cell As Range
'Создание объекта диапазона
Set InputRange = ActiveSheet.UsedRange
'Добавление нового рабочего листа
Set OutputSheet = Worksheets.Add
'Переменная для строки вывода
OutputRow = 1
'Цикл по всем ячейкам входного диапазона
For Each Cell In InputRange
If Cell.HasFormula Then
OutputSheet.Cells(OutputRow, 1) = "'" & Cell.Address
OutputSheet.Cells(OutputRow, 2) = "'" & Cell.Formula
OutputRow = OutputRow + 1
End If
Next Cell
End Sub
Хотя код этой программы кажется сложным, на самом деле он относительно прост, если его последовательно проанализировать:
1. В макросе создается переменная InputRange. Этой переменной соответствует используемый диапазон ячеек активного рабочего листа (что позволяет проверить каждую ячейку этого листа).
2. В рабочую книгу вставляется новый лист, который присваивается переменной- объекту Outputsheet. Затем переменной OutputRow присваивается значение 1. В дальнейшем значение этой переменной будет возрастать с шагом 1.
3. В цикле For...Each проверяется каждая ячейка диапазона InputRange. Если ячейка содержит формулу, то ее адрес и формула записываются на лист Outputsheet, при этом значение переменной OutputRow увеличивается на 1.
#VBA
3.4K views07:17