Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA_02_Ввод-вывод данных.doc
Скачиваний:
4
Добавлен:
15.08.2019
Размер:
101.89 Кб
Скачать

2.2. Запись и считывание данных из ячеек рабочего листа Excel

Для доступа из программы к значениям, хранящимся в ячейках некоторого листа, применяется одна из двух следующих комбинаций:

Sheets("НазваниеЛиста").Range("ЯчейкаИлиДиапазонЯчеек").Value

Sheets("НазваниеЛиста").Cells(НомерСтроки, НомерСтолбца).Value

которые применяются также, как и переменные: в составе выражений или в левой и правой частях оператора присваивания. В качестве названия листа может быть имя листа в кавычках, строковое выражение, возвращающее имя листа или строковая переменная, которой присвоено имя листа. То же самое касается и ячеек и их диапазонов в Range. Диапазон ячеек задаётся при помощи начальной и конечной ячеек, разделённых двоеточием. Так можно задавать столбцы и строки ячеек, а также прямоугольные массивы ячеек. В последнем случае указываются две ячейки в противоположных углах. Например,

Sub N2()

Dim h1 As String

h1 = "D10:E11"

Sheets("Лист1").Range(h1).Value = 56

End Sub

В качестве номеров строк и столбцов в Cells могут быть только ненулевые целочисленные параметры: числа, переменные, выражения и т. д.

Если данная комбинация находится слева от знака равенства в операторе присваивания, то происходит запись данных в ячейку. Если данная комбинация находится справа от знака равенства в операторе присваивания, то происходит чтение данных из ячейки. Например,

Sheets("Лист1").Range("A7").Value = 7 ‘ – в ячейку А7 "Листа1" записывается число 7

Sheets("Лист2").Cells(6,7).Value = "Пример" ‘ – в 7 ячейку 6 строки "Листа2"

записывается слово “Пример”

h = Sheets("Лист2").Cells(t,k).Value ‘– переменной h присваивается значение ячейки из

строки с номером t и столбца с номером k из “Листа2"

Пример :

Sub WriteList()

Dim g As Single

Sheets("Лист1").Cells(6, 7).Value = "Пример"

Sheets("Лист1").Range("A7").Value = InputBox("Введите значение для ячейки А7")

g = 120 * Sheets("Лист1").Range("A7").Value

MsgBox " g=" & CStr(g)

End Sub

2.3. Форматный вывод

2.3.1. Функция Format

При выводе данных часто бывает необходимо представить их каком-то формате. Для этого служит функция Format:

Format (выражение, формат_вывода[, firstdayofweek[, firstweekofyear]])

где выражение – любое допустимое выражение,

формат_вывода – именованный формат или определяемый пользователем шаблон формата,

firstdayofweek и firstweekofyearиспользуются при задании формата даты. Определяют первый день недели и первую неделю года, соответственно.

Символ

Описание

Нет символа

Показывает число без форматирования.

(0)

Показывает цифру или ноль. Если выражение имеет цифру в данной позиции, выводится эта цифра, иначе выводится ноль.

Если число имеет меньше цифр, чем нулей (с обеих сторон десятичного числа) в выражении формата, выводятся нули.

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

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

(#)

Если выражение имеет цифру в позиции, где # появляется в строке формата, выводится эта цифра, иначе, не выводится ничего.

Работы этого символа подобно 0, за исключением того, что лидирующие и завершающие нули не выводятся.

(.)

Используется как десятичный разделитель.

(%)

Процентное отображение числа. Выражение умножено на 100. Знак процента вставлен в позицию, где он находится в строке формата.

(,)

Разделитель сотен и тысяча. Фактический знак, используемый как разделитель тысяч, определён вашей системой.

(:)

Разделитель часов, минут и секунд в формате Time. Фактический знак, используемый как сепаратор времени в формате определен вашей системой.

(/)

Разделитель даты отделяет день, месяц, и год в формате Date. Фактический знак, используемый как сепаратор даты в формате, определяется вашей системой.

(E-E + e-e +)

Научный формат.

(\)

Выводит следующий за ним символ в строке формата. Используется, чтобы вывести какой-либо символ, который рассматривается как форматирующий. Сама наклонная черта при этом не выводится. Чтобы вывести сам “обратный слэш”, используйте две наклонных черты “\\”.

Примеры символов, которые не могут быть показаны без \ или кавычек – символы, форматирующие дату и время, числовые форматирующие символы *, 0, %, E, e, и символы, форматирующие строки (@, &, <,>, !).

("ABC")

Внутри форматирующей строки могут применяться любые символы, кроме тех, которые не являются форматирующими.

@

Выводит символ.

&

Выводит символ или ничто.

<

Преобразует все символы в строчный регистр.

>

Преобразует все символы в заглавный регистр.

!

Символы выводятся с правого конца.

Следующий пример демонстрирует действие функции Format: