Сделай Сам Свою Работу на 5

Ввод-вывод данных с использованием рабочей книги и листов MS Excel





 

Значения данных, использующихся в программе можно хранить в ячейках MS Ecxel. Этот вариант является альтернативой вводу данных с экрана и выводу их на экран.

Хранение данных в ячейках удобно тем, что они видны не только во время выполнения программы, но и сохраняются и доступны для просмотра и анализа в любой момент времени. Этот способ позволяет также оформить задачу в более удобной форме, обозначив названиями входные и выходные данные, указать необходимые сведения для них, например, единицы измерения.

Для того, чтобы получить доступ к ячейке необходимо использовать служебное слово Range, после него в круглых скобках в двойных «английских» кавычках указывается адрес ячейки, например Range(“A1”).

Данные из ячеек можно использовать непосредственно в выражениях или присвоив эти значения переменным. Второй вариант является наиболее предпочтительным, т.к. обращение к ячейке производится один раз, а затем используется переменная.

Ввод данных из ячейки в переменную

Синтаксис: Переменная = Range(“ячейка”) Пример: Value = Range(“A1”) где Value – имя переменной

Вывод данных из переменной в ячейку



Синтаксис: Range(“ячейка”) = Переменная Пример: Range(“A1”) = Value где Value – имя переменной

 

Рассмотрим примеры.

Пример 1. Взять число из ячейки А1, найти остаток от деления этого числа на 3, результат поместить в ячейку А2

Sub test() Dim val As Single Dim rez As Single val = Range("A1") rez = val Mod 3 Range("A2") = rez End Sub Sub test() Dim val As Single val = Range("A1") Range("A2") = val Mod 3 End Sub   Sub test() Range("A2") = Range("A1") Mod 3 End Sub  

Все три примера иллюстрируют выполнение одних и тех же действий. В первом примере данные из ячейки А1 помещаются в переменную val, затем производится деление с возвращением остатка и результат заносится в переменную rez. Значение переменной rez помещается в ячейку А2.

Во втором примере, данные из ячейки А1 помещаются в переменную val, затем производится деление с возвращением остатка и результат заносится в ячейку А2.

В третьем примере обходится и вовсе без переменных. В ячейку А2 сразу помещается результат деления с возвращением остатка данных из ячейки А1 на 3.

 


Операторы выбора



При написании макросов, как и любых других программных кодов, часто приходится выполнять те или иные, но различные действия в зависимости от какого-либо условия, например, если требуется вычислить значение функции y = 1/x, то очевиден следующий алгоритм действий:

если x ≠ 0 , то y = 1/x, иначе “вывод сообщения об ошибке”.

Наиболее простые конструкции осуществления выбора – это If … Then и If … Then … Else.

Выражение If … Then предоставляет возможность реализации простого ветвления исполняемой программы с одним разветвлением. Конструкция If … Then … Else реализует разветвление на две ветви, в зависимости от истинности условия.

Рассмотрим более подробно конструкцию If … Then. Блок-схема этой конструкции представлена на рисунке 38.

Рис. 38. Блок-схема конструкции If .. Then

 

Эта инструкция имеет две синтаксические формы, наиболее простая из них:

If условие then инструкция VBA.

Условие – булевое выражение. Все выражение должно быть написано в одной строке. Если значение условия истинно, то выполняется инструкция VBA, следующая в той же строчке за словом Then. Далее управление программой переходит к следующей строке. Если значение условия ложно, то выражение после слова Then не выполняется и управление сразу переходит к следующей строке программы. После слова Then может располагаться несколько инструкций, которые следует разделять двоеточием :. Количество инструкций не ограничено, но они должны умещаться в одной строке.

Вторая форма инструкции If … Then называется блоком If. Эта инструкция отличается от предыдущей тем, что ее расположение может занимать несколько строк:



If условие Then

Инструкции VBA

End If

Ключевые слова End If служат знаком окончания блока и должны располагаться на следующей строке после последней инструкции VBA блока If… Then. Инструкций VBA может быть несколько, и они могут располагаться в несколько строк, они могут и вовсе отсутствовать.

Инструкция If…Then … Else. Блок-схема этой инструкции показана на рисунке 39.

Рис. 39. Блок-схема инструкции If..Then..Else

 

Эта инструкция позволяет выбрать одну из двух ветвей алгоритма, после чего продолжается последовательное выполнение программы. Как и инструкция If … Then, инструкция If…Then…Else имеет однострочную и блоковую структуры.

Синтаксис однострочной структуры:

If условие then инструкции_VBA1 else инструкции_VBA2

Если значение условия истинно, то выполняются инструкции_VBA1, иначе – инструкции_VBA2

Синтаксис блоковой структуры:

If условие then

инструкции_VBA1

Else

инструкции_VBA2

End if

Работа строчной и блоковой структур одинакова, однако при использовании блоковой структуры отсутствуют ограничения на количество инструкций, а так же она легче читается.

Пример: в рабочем листе Excel в ячейке A1 содержится некое число. Требуется определить четное оно или нет и выдать соответствующее сообщение.

Sub ran_ge()

If (Range("A1") mod 2) = 0 then

MsgBox “число четное”

else

MsgBox “число нечетное”

End If

End Sub

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.