Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Пример 5. Циклы в программе

Читайте также:
  1. CИТУАЦИОННЫЕ ЗАДАЧИ С ПРИМЕРАМИ РЕШЕНИЯ
  2. CИТУАЦИОННЫЕ ЗАДАЧИ С ПРИМЕРАМИ РЕШЕНИЯ
  3. CИТУАЦИОННЫЕ ЗАДАЧИ С ПРИМЕРАМИ РЕШЕНИЯ
  4. CИТУАЦИОННЫЕ ЗАДАЧИ С ПРИМЕРАМИ РЕШЕНИЯ
  5. VI. ПРИМЕРНАЯ МЕТОДИКА ОБУЧЕНИЯ УПРАЖНЕНИЯМ КУРСА СТРЕЛЬБ
  6. Августа 1792 г. Законодательное собрание во Франции отрешило короля Людовика XVI от власти и заключило его в тюрьму. Это пример проявления санкций
  7. Автомобили - идеальный пример эмпирического продукта

Циклы в программе

Пример 1 В примере счетчик j изменяется с шагом 2 при каждом выполнении цикла. По завершении цикла total равняется сумме 2, 4, 6, 8 и 10.

Sub цикл1()

For j = 2 To 10 Step 2

total = total + j

Next j

MsgBox "Сумма равна " & total

End Sub

Пример 2

В примере счетчик myNum уменьшается на 2 при каждом выполнении цикла. По окончании цикла total равняется сумме 16, 14, 12, 10, 8, 6, 4 и 2.

Sub цикл2()

For myNum = 16 To 2 Step -2

total = total + myNum

Next myNum

MsgBox "Сумма равна " & total

End Sub

Пример 3

Программа перебирает все ячейки диапазона А1:D10 на листе «Лист1». Если какая-то ячейка содержит значение меньше чем 0,5, оно заменяется нулем.

Sub цикл3()

Dim rw, col

For rw = 1 To 10 ' Цикл по строкам выполняется 10 раз

For col = 1 To 4 ' Цикл по столбцам выполняется 4 раза.

If Worksheets("Лист1").Cells(rw, col).Value < 0.5 Then

Worksheets("Лист1").Cells(rw, col).Value = 0

End If

Next col

Next rw

End Sub

Пример 4

В примере программа определяет тип данных в каждой ячейке из диапазона А1:А10 и перечисляет эти типы в колонке, расположенной справа от исходных ячеек:

Sub цикл4()

For Each c In Worksheets("Лист1").Range("A1:A10").Cells

If Application.IsText(c.Value) Then

c.0ffset(0, 1).Formula = "Text"

Elself Application.IsNumber(c.Value) Then

c.0ffset(0, 1).Formula = "Number"

Elself Application.IsLogical(c.Value) Then

c.0ffset(0, 1).Formula = "Boolean"

Elself Application.IsError(c.Value) Then

c.0ffset(0, 1).Formula = "Error"

Elself c.Value = "" Then

c.0ffset(0, 1).Formula = "(blank cell)"

End If

Next c

End Sub

Пример 5

Допустим, лист Лист1 содержит список, для которого Вы хотите установить формат чисел. Единственное, что известно об этом списке, — он начинается с ячейки А1; число строк и колонок в нем Вы не знаете. В следующем примере показано, как отформатировать такой список через свойство CurrentRegion:

Sub цикл5()

Set myRange = Worksheets("Лист1").Range("A1").CurrentRegion

myRange.NumberFormat = "0.0"

End Sub

Пример 6

Пусть активный лист содержит результаты каких-то измерений за определенный период времени. В первой колонке использованного диапазона записаны даты, во второй — время, а в третьей и четвертой — результаты измерений. Ниже приведен текст макроса, который объединяет пары «дата-время» в одно значение, и применяет к полученному значению формат даты. В таблице могут быть пустые строки и колонки. Чтобы получить весь использованный диапазон, включая пустые строки, можно задействовать свойство UsedRange. Для проверки программы в столбец А поместите данные о днях, установив формат данных Дата -ДД.ММ.ГГ, для столбца В установить формат данных Времятип 13:30, а затем вводить данные по указанному шаблону. Вот один из вариантов преобразования и форматирования дат и времени:

Sub цикл6()

Set myRange = ActiveSheet.UsedRange

myRange.Columns("C").Insert

Set dateCol = myRange.Columns("C")

For Each c In dateCol.Cells

If c.Offset(0, -1).Value <> "" Then

c.FormulaR1C1 = "=RC[-2]+RC[-1]"

End If

Next

dateCol.NumberFormat = " d mmm,yyyy hh:mm"

dateCol.Copy

dateCol.PasteSpecial Paste:=xlValues

myRange.Columns("A:B").Delete

dateCol.AutoFit ‘ изменяет автоширину

End Sub

 

Данные до выполнения   Результат после выполнения
A B C   A B
7.01.2001 0:12 6,00 7 янв,2001 00:12 6,00
8.01. 2001 1:00 12,00 8 янв,2001 01:00 12,00
9.01. 2001 1:48 11,00 9 янв,2001 01:48 11,00
10.01. 2001 2:36 10,00 10 янв,2001 02:36 10,00
11.01. 2001 3:24 8,00 11 янв,2001 03:24 8,00
12.01. 2001 4:12 7,00 12 янв,2001 04:12 7,00
13.01. 2001 5:00 5,00 13 янв,2001 05:00 5,00
14.01. 2001 5:48 4,00 14 янв,2001 05:48 4,00
15.01. 2001 6:36 3,00 15 янв,2001 06:36 3,00
16.01. 2001 7:24 2,00 16 янв,2001 07:24 2,00
17.01. 2001 8:12 1,00 17 янв,2001 08:12 1,00

Пример 7

В примере выполняется цикл по диапазону A1:D10 на листе Лист1 и присваивается любому числу, имеющему абсолютное значение меньше 0.01, значение 0 (ноль).

Sub цикл7()

For Each r In Worksheets("Лист1").Range("A1:D10").Cells

If Abs(Cr.Value) < 0.01 Then r.Value = 0

Next r

End Sub

 


Дата добавления: 2015-07-08; просмотров: 74 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Функции и процедуры.| Пример 8

mybiblioteka.su - 2015-2024 год. (0.006 сек.)