Читайте также:
|
|
Пример – Пусть в столбце C, начиная с ячейки C7 (т.е. в ячейках C7, C8 и т.д.), введены фамилии студентов, а в столбце D (т.е. в ячейках D7, D8 и т.д.) – их оценки по некоторому предмету. Требуется получить в столбце F (начиная с ячейки F1) список студентов, имеющих оценку не ниже заданной. Заданная оценка вводится с клавиатуры.
Sub otbor()
Dim min_ocenka As Single
min_ocenka = InputBox("Введите минимально допустимую оценку")
Set d = Range("C7").CurrentRegion
m = d.Rows.Count
k = 0
For i = 1 To m
If d.Cells(i, 2).Value >= min_ocenka Then
k = k + 1
Cells(k, 6).Value = d.Cells(i, 1).Value
End If
Next i
End Sub
Здесь в операторе Set d = Range("C7").CurrentRegion переменной d присваивается диапазон заполненных ячеек, где левый верхний угол – ячейка C7. Переменная m получает значение – количество строк диапазона d (т.е. в данном примере – количество студентов, для которых введены данные). Затем выполняется сравнение значений ячеек d.Cells(i,2).Value (т.е. оценок студентов, так как они введены во втором столбце диапазона данных) с заданной величиной min_ocenka. Если заданное условие (d.Cells(i, 2).Value >= min_ocenka) выполняется, то фамилия студента выводится в столбец F (в шестой столбец рабочего листа). Переменная k – номер строки рабочего листа, куда выводится фамилия студента; при выводе каждой фамилии она увеличивается на единицу.
Следует обратить внимание на строку Cells(k, 6).Value = d.Cells(i, 1).Value. Здесь Cells(k, 6).Value – значение ячейки в k -й строке и шестом столбце (т.е. столбце F) рабочего листа Excel. Значение d.Cells(i, 1).Value – это значение ячейки в i -й строке и первом столбце диапазона d (т.е. заполненного данными диапазона, где левый верхний угол – ячейка C7).
Пример – Пусть в условиях предыдущего примера требуется выводить фамилии выбранных студентов в произвольное место на рабочем листе (начальная ячейка для вывода результатов должна запрашиваться в программе).
Sub otbor()
Dim min_ocenka As Single
min_ocenka = InputBox("Введите минимально допустимую оценку")
rez = InputBox("Введите начальную ячейку для вывода результатов")
Set d = Range("C7").CurrentRegion
Set vyvod = Range(rez)
m = d.Rows.Count
k = 0
For i = 1 To m
If d.Cells(i, 2).Value >= min_ocenka Then
k = k + 1
vyvod.Cells(k,1).Value = d.Cells(i, 1).Value
End If
Next i
End Sub
Здесь, например, если требуется выводить список выбранных студентов в столбец G, начиная с ячейки G3, то на запрос "Введите начальную ячейку для вывода результатов" следует ответить: G3. Указанная пользователем ячейка (объект) присваивается переменной vyvod. Ячейка для вывода результата (выбранной фамилии студента) задана как vyvod.Cells(k,1); это означает, что результат выводится в ячейку, расположенную в k -й строке от указанной пользователем ячейки, и в том же столбце, что указанная ячейка.
Пример – Пусть, как и в предыдущем примере, в столбце C, начиная с ячейки C7, введены фамилии студентов, а в столбце D – их оценки по некоторому предмету. Требуется для каждого студента, имеющего оценку не ниже заданной, в соответствующей ячейке столбца E (т.е. справа от оценки студента) выводить слово “принят”. Заданная оценка вводится с клавиатуры.
Sub priem()
Dim min_ocenka As Single
min_ocenka = InputBox("Введите минимально допустимую оценку")
Set d = Range("C7").CurrentRegion
m = d.Rows.Count
For i = 1 To m
If d.Cells(i, 2).Value >= min_ocenka Then
d.Cells(i, 3).Value = "принят"
End If
Next i
End Sub
Здесь оператор d.Cells(i, 3).Value = "принят" означает, что в ячейку d.Cells(i, 3) выводится слово “принят”. Ячейка d.Cells(i, 3) – это ячейка в i -й строке и третьем столбце относительно диапазона d. Так как начало диапазона d (его левый верхний угол) – это ячейка C7, номера строк в данном случае отсчитываются от седьмой строки, а обозначения столбцов – от столбца C (поэтому третий столбец в данном случае – это столбец E, т.е. столбец, следующий за оценками студентов).
Дата добавления: 2015-07-18; просмотров: 69 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Работа с диапазонами ячеек, заданными явно | | | Экономическая мысль Древнего Китая. Конфуцианство. |