ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.03.2025

Просмотров: 134

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Dim sum As Double, threshold As Double, i As Integer

sum = 0

threshold = 100

For i = 1 To 100

sum = sum + sqr(i)

If sum > threshold

Exit For

End If

Next i

'Сумма значений ячеек диапазона

Dim r as Range

Dim sum As Double

Dim i As Integer, j As Integer

sum = 0

For i = 1 To r.Rows.Count

For j = 1 To r.Columns.Count

sum = sum + r.Cells(i, j)

Next j

Next i

'Количество положительных значений в ячейках диапазона

Dim r as Range

Dim k As Integer

Dim i As Integer, j As Integer

k = 0

For i = 1 To r.Rows.Count

For j = 1 To r.Columns.Count

If r.Cells(i, j) > 0 Then k = k + 1

Nextj

Nexti

В языке VBA можно также использовать ещё четыре разновидности цикла.

Do [{While | Until} <условие>]

<инструкции>

[Exit Do]

<инструкции>

Loop

Do

<инструкции>

[Exit Do]

<инструкции>

Loop [{While | Until} <условие>]


    1. Работа с объектами и коллекциями

Конструкция WithEnd Withпозволяет выполнить несколько операций над одним объектом.

With <объект>

<инструкции>

End With

With Selection.Font

.Bold = True

.Italic = True

.Size = 14

.Name = Cambria

End With

Selection.Font.Bold = True

Selection.Font.Italic = True

Selection.Font.Size = 14

Selection.Font.Name=Cambria

Код с использованием конструкции WithEnd Withвыполняется быстрее, чем аналогичный код без этой конструкции. При записи макросов конструкцияWithEnd Withприменяется при каждой возможности.

Конструкция For EachNextпозволяет обработать все элементы какой-либо коллекции.

ForEach<элемент>In<коллекция>

<инструкции>

[ExitFor]

<инструкции>

Next<элемент>

'Вывод имён всех рабочих листов в активной рабочей книге

Dim item As Worksheet

For Each item In ActiveWorkbook.Worksheets

MsgBox item.Name

Next item

'Закрытие всех рабочих книг, кроме активной

Dim book As Workbook

For Each book In Workbooks

If book.Name <> ActiveWorkbook.Name Then book.Close

Next book

'Выделение первой ячейки в диапазоне, имеющей отрицательное значение

Dim cell As Range

For Each cell In Selection

If cell.Value < 0 Then

cell.Select

Exit For

End If

Next cell


Смотрите также файлы