Информатика. Книга 7 Быстрое размножение рабочей книги 7 Сохранение рабочей книги с именем, представляющим собой текущую дату 7
Скачать 1.27 Mb.
|
Быстрое выделение ячеек, расположенных через интервалЛистинг 3.23. Выделение ячеек через интервал (вариант 1) Sub IntervalCellSelect() Dim intFirstRow As Integer ' Первая строка для выделения Dim intLastRow As Integer ' Последняя строка для выделения Dim rgCells As Range ' Объединение выделяемых ячеек Dim intRow As Integer intFirstRow = 3 intLastRow = 300 ' Формирование объединения ячеек в столбце "B" от строки _ intFirstRow до строки intLastRow с шагом 3 For intRow = intFirstRow To intLastRow Step 3 If rgCells Is Nothing Then ' Первая ячейка в объединении Set rgCells = Cells(intRow, 1) Else ' Добавление очередной ячейки в объединение Set rgCells = Union(rgCells, Cells(intRow, 1)) End If Next ' Выделение всех ячеек в объединении rgCells.Select End Sub Листинг 3.24. Выделение ячеек через интервал (вариант 2) Sub IntervalCellSelect() Dim intFirstRow As Integer ' Первая строка для выделения Dim intLastRow As Integer ' Последняя строка для выделения Dim rgCells As Range ' Объединение выделяемых ячеек Dim cell As Range ' Текущая ячейка Dim intRow As Integer intFirstRow = 3 intLastRow = 300 ' Формирование объединения ячеек в столбце "B" от строки _ intFirstRow до строки intLastRow с шагом 3 For intRow = intFirstRow To intLastRow Step 3 Set cell = Cells(intRow, 1) Set rgCells = Union(cell, _ IIf(intRow = intFirstRow, cell, rgCells)) Next ' Выделение всех ячеек в объединении rgCells.Select End Sub Листинг 3.25. Выделение нескольких диапазонов Sub SelectRange() Range("D3:D10, A3:A10 , F3").Select End Sub Определение количества ячеек в диапазоне и суммы их значенийЛистинг 3.26. Сумма данных диапазона Sub CalculateSum() Dim i As Integer Dim intSum As Integer ' Расчет суммы ячеек столбца "A" (с первой по пятую) For i = 1 To 5 intSum = intSum + Cells(i, 1) Next MsgBox "Сумма ячеек: " & intSum End Sub Листинг 3.27. Сумма ячеек с числовыми значениями Sub CalculateSum() Dim i As Integer Dim intSum As Integer ' Расчет суммы ячеек столбца "A" (с первой по пятую) For i = 1 To 5 If IsNumeric(Cells(i, 1)) Then intSum = intSum + Cells(i, 1) End If Next MsgBox "Сумма ячеек: " & intSum End Sub Листинг 3.28. Подсчет количества ячеек Sub CountOfCells() MsgBox (Range("A1:A20, D1:D20").Count) End Sub Подсчет именованных объектовЛистинг 3.29. Количество именованных объектов Sub CountNames() Dim intNamesCount As Integer ' Получаем и отображаем количество имен в активной _ рабочей книге intNamesCount = ActiveWorkbook.Names.Count If intNamesCount = 0 Then MsgBox "Имен нет" Else MsgBox "Имен: " & intNamesCount & " шт." End If End Sub Листинг 3.30. Количество имен рабочей книги Sub CountNames() Dim intNamesCount As Integer ' Получаем и отображаем количество имен на активном _ листе рабочей книги intNamesCount = Names.Count If intNamesCount = 0 Then MsgBox "Имен нет" Else MsgBox "Имен: " & intNamesCount & " шт." End If End Sub Быстрый поиск курсораЛистинг 3.31. Поиск активной ячейки Sub FindActiveCell() ' Выводим адрес активной ячейки MsgBox ActiveCell.Address End Sub Поиск начала и окончания диапазона, содержащего данныеЛистинг 3.32. Поиск данных Sub FindSheetData() ' Выводим диапазон используемых ячеек листа MsgBox ActiveSheet.UsedRange.Address End Sub Листинг 3.33. Поиск начала данных Sub FindStartOfData() With ActiveSheet ' Заносим текст в ячейку, являющуюся левой верхней _ ячейкой используемого диапазона .Cells(.UsedRange.Row, .UsedRange.Column).Value = _ "Начало данных" End With End Sub |