![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Второй способ
Листинг 2.26. Заполнение указанного диапазона Sub FillCellRect() Dim lngRows As Long, intCols As Integer ' Количество ячеек по _ горизонтали и вертикали Dim lngRow As Long, intCol As Integer ' Координаты текущей ячейки Dim lngStep As Long, lngVal As Long
' Установка начального значения и шага заполнения lngVal = 1 lngStep = 1
' Ввод количества ячеек по горизонтали и вертикали, которое _ необходимо заполнить lngRows = Val(InputBox(" Количество ячеек в высоту")) intCols = Val(InputBox(" Количество ячеек в ширину"))
' Отключение обновления экрана Application.ScreenUpdating = False
' Заполнение ячеек значениями For lngRow = 1 To lngRows For intCol = 1 To intCols ActiveCell.Offset(lngRow, intCol).Value = lngVal lngVal = lngVal + lngStep Next intCol Next lngRow
' Включение обновления экрана Application.ScreenUpdating = True End Sub Третий способ Листинг 2.27. Заполнение диапазона Sub FillCellRect1() Dim lngRows As Long, intCols As Integer Dim lngRow As Long, intCol As Integer Dim lngStep As Long, lngVal As Long Dim alngValues() As Long Dim rgRange As Range
' Установка начального значения и шага заполнения lngVal = 1 lngStep = 1
' Ввод количества ячеек по горизонтали и вертикали, которое _ необходимо заполнить lngRows = Val(InputBox(" Количество ячеек в высоту")) intCols = Val(InputBox(" Количество ячеек в ширину"))
ReDim alngValues(1 To lngRows, 1 To intCols) Set rgRange = ActiveCell.Range(Cells(1, 1), _ Cells(lngRows, intCols))
' Заполнение массива alngValues значениями For lngRow = 1 To lngRows For intCol = 1 To intCols alngValues(lngRow, intCol) = lngVal lngVal = lngVal + lngStep Next intCol Next lngRow ' Перенос значений из массива в таблицу rgRange.Value = alngValues End Sub Помещение в ячейку электронных часов Листинг 2.28. Размещение в ячейке электронных часов Sub UpdateTime() Dim varNextCall As Variant ' Записываем в ячейку текущее время Cells(1, 1).Value = Now ' Записываем в varNextCall время, когда вызвать этот макрос _ в следующий раз (через 1 секунду) varNextCall = TimeSerial(Hour(Now), Minute(Now), Second(Now) + 1) ' Уведомляем Excel в необходимости вызова макроса Application.OnTime varNextCall, " UpdateTime" End Sub «Будильник» Листинг 2.29. «Будильник» Sub Clock() ' Уведомляем Excel, что процедуру Alarm нужно вызвать в 20: 55 Application.OnTime TimeValue(" 20: 55: 00"), " Alarm" End Sub Sub Alarm() MsgBox " Пора ужинать!!! " End Sub Поиск данных в диапазоне
|