Ярлыки

(16) 1С 8.3 (1) 2GIS (1) автоактивация (3) Активация (3) Андроид (113) Антивирус (2) Аудио (2) биоритмы (1) Блок питания (22) боль в спине (1) браузер (2) бросить курить (1) буквы соответствие (1) бумажник (1) бюджетирование (1) ВАЗ 2110 (1) вацап (1) видеонаблюдение (8) Видеосвязь (1) гаджет (1) Галстук (1) геокоординаты (1) дача (1) для дома (1) дом (2) драйвера (6) Дубликаты (1) еда (1) запись (1) Зарядка акб (1) Зарядное устройство (1) звук (4) здоровье (8) знаки зодиака (1) зрение (1) игнтернет (1) иероглифы (1) Изделия из дерева (1) Интернет (10) Интернет-магазины (3) Кино (1) ключница (1) Книги Журналы (1) кожаная обувь (4) командная строка (1) конвертор (1) кошелек (1) кресло-качалка (1) кухня (2) Лекарства (1) логика (1) макрос (1) медицина (1) мозги (1) морщины (2) мтс (1) музыка (9) мультики (1) Мыльные_пузыри (1) Натуральная кожа (56) Облако (1) омск (1) Он Лаин библиотеки (1) органайзер (1) оригами (1) Отбеливание (1) отслеживание посылок (1) Папка (1) Пароли (2) пароль (3) партмоне (1) парфюм (1) переименование файлов (1) питание (1) Планшет (5) поза сна (1) поздравление (1) поиск (1) поиск дублей (1) поисковик (1) Полезные сайты (1) портабле (2) принтер (4) Программы (58) простуда (1) расширения (1) редактор музыкальных файлов (1) Русский язык (1) рут (2) сеть (8) Скрыть информацию (1) Стиль (1) стихи (2) сумка (1) суставы (3) теги (1) трек-номер (1) тренинг (1) тренинг памяти (1) удаленный доступ (2) узлы (1) УНЧ (3) Управление компьютером (2) Управленческий учет (2) Успокоительные средства (1) фильмы (2) Флешка (53) фото (2) цвета в одежде (1) цена (1) экран не гаснет (1) эл почта (2) Ютуб (1) Access (10) Acronis True Image WD Edition (1) AliExpress (1) ALT-коды (1) audi (1) Avira Antivirus (1) bat (2) BIOS (4) chrom (15) Chrome (2) Cube iPlay 10 U83 (1) Dism++ (2) epson 1260 (1) ERD Commander (1) Excel (42) Faceter (1) Firefox (1) GHOST32 (4) gif анимация (1) Google (1) Google Hrome (1) Google Play (1) Grub4Dos (7) HDD (1) Honor (1) HP USB Disk Storage Tool (1) IPTV (1) KPI (1) Linux (16) NirCmd (1) office (4) PDF (1) Pinterest (1) portable (2) Prestigio3502 (1) Rufus (2) SSD (1) torrent (1) UEFI (1) VBA (42) WEB ресурсы (2) WiFi (2) Windows (77) Windows 10 (5) Windows 11 (2) Windows 7 (24) YouTube (15)

воскресенье, 22 ноября 2015 г.

Range

Cells, Columns, Rows - ячейки, столбцы, строки
Свойство Cells позволяет обращаться к отдельным ячейкам в диапазоне. При работе с этим свойством в отдельном диапазоне ячеек нумерация ячеек ведется по собственной системе координат. Иными словами, диапазон выступает как небольшой виртуальный рабочий лист: левая верхняя ячейка диапазона получает индекс (1, 1), ячейка, расположенная во втором столбце и третьей строке диапазона, - индекс (3,2) и т.д. Свойства Columns и Rows возвращают, соответственно, коллекции, которые содержат столбцы и строки диапазона. Например, так (листинг 15.18.) можно узнать количество строк в диапазоне, ссылка на который хранится в переменной obj_Range. num_Rows = obj_Range.Rows.Count Листинг 15.18. Количество строк в диапазоне Воспользуемся свойством Cell для диапазона размером 6х5 ячеек, чтобы заполнить этот диапазон данными (листинг 15.19.).


Dim obj_Range As Range
Set obj_Range = ActiveSheet.Range("B2:F7")
For i = 1 To obj_Range.Rows.Count
For j = 1 To obj_Range.Columns.Count
obj_Range.Cells(i, j) = _ Int(Rnd * 100)
Next j
Next i

Листинг 15.19. Заполнение диапазона ячеек с использованием свойства Cell Как видите, мы присваиваем ссылку на диапазон ячеек B2:F7 переменной obj_Range, после чего в цикле, используя свойство Cells для этой переменной, заполняем выбранный диапазон значениями. Еще раз обращаю ваше внимание на то, что свойство Cells для Range "работает" в пределах диапазона и ячейки в диапазоне имеют собственную нумерацию, отличную от ячеек листа 15.3.5. CurrentRegion - область, заполненная данными Возвращает объект Range, который представляет собой все заполненные данными ячейки вокруг ячейки или диапазона, для которого вызывается. 15.3.6. Characters, Font - форматирование текста 15-09-Range Font.xlsm - пример к п. 15.3.6. Свойство Characters позволяет настраивать форматирование отдельных символов текста ячейки, а параметр Font нужен для настройки параметров шрифта по ячейке в целом. Рассмотрим пример. В ячейке, выделенной пользователем, отформатируем текст шрифтом Times New Roman, размером 15, красного цвета. А первый символ отформатируем курсивом (листинг 15.20.).

Dim obj_Range As Range
Set obj_Range = Selection
With obj_Range
.Font.Name = "Times New Roman"
.Font.Size = 15 .Font.Color = vbRed
.Characters(1, 1).Font.Italic = True
End With

Листинг 15.20. Форматирование текста в ячейке Свойство Name объекта Font позволяет задать имя шрифта, Size - размер, Color - цвет. При работе с Characters мы задаем номер символа, с которого начинается форматирование, а так же - количество символов, начиная с первого. Чтобы отформатировать второй и третий символы, нам понадобилось бы вызвать это свойство так: Characters(2, 2) - два символа, начиная со второго. 15.3.7. Formula, FormulaR1C1 - формулы в ячейках 15-10-Range Formula.xlsm - пример к п. 15.3.7. Formula позволяет записать в ячейку формулу, а также - узнать, какая формула записана в ячейке. Формулы используют ссылки на ячейки в стиле A1. Например, для записи в ячейку A1 суммы ячеек A2 и A3, нам понадобится такая команда (листинг 15.21.) Range("A1").Formula = "=$A$2+$A$3" Листинг 15.21. Ввод формулы в ячейку Свойство FormulaR1C1 записывает в ячейку формулу, используя стиль ссылок R1C1. Рассмотрим пример. Программно создадим таблицу с числами и рассчитаем после каждого столбца и каждой строки таблицы суммы составляющих их элементов. Для расчетов сумм строк используем свойство Formula, для расчета сумм по столбцам - FormulaR1C1 (листинг 15.22.). 'Для хранения ссылки на ячейку 'в которую запишем формулу

Dim obj_Range As Range 
'Для хранения ссылки на первую 'ячейку диапазона (для формулы в стиле A1)
Dim obj_Range1 As Range 
'Для хранения ссылки на последнюю 'ячейку диапазона (для формулы в стиле A1)
Dim obj_Range2 As Range 
'Для сборки адресов ячеек в 'стиле R1C1
Dim str_R1C11 As String
Dim str_R1C12 As String 
'Заполняем ячейки данными
For i = 1 To 5
For j = 1 To 5
ActiveSheet.Cells(i, j) = _ Int(Rnd * 100)
Next j
Next i 
'Заполняем формулами ячейки, которые 'будут отображать суммы по строкам
For i = 1 To 5                                      'Ссылка на ячейку с формулой
Set obj_Range = ActiveSheet.Cells(i, 6)              'Ссылка на первую ячейку диапазона
Set obj_Range1 = ActiveSheet.Cells(i, 1)      'На последнюю ячейку
Set obj_Range2 = ActiveSheet.Cells(i, 5) 
'Формула передается в ячейку в виде строки 'формируем строку такого вида: '=SUM($A$1:$A$5)
obj_Range.Formula = "=sum(" + obj_Range1.Address + ":" + obj_Range2.Address + ")"
Next i                     'Заполняем ячейки с суммами по 'столбцам
For i = 1 To 5              'ссылка на ячейку с формулой
Set obj_Range = ActiveSheet.Cells(6, i) 
'Собираем ссылку на первую ячейку 'она будет иметь вид R1C1 для первого 'столбца, R1C2 для второго и т.д.
str_R1C11 = "R" + Mid(Str(1), 2, _ Len(Str(1)) - 1) +"C" + Mid(Str(i), 2, Len(Str(i)) - 1) 
'Собираем ссылку на последнюю ячейку 'она будет иметь вид R5C1 для первого 'столбца, R5C2 для второго и т.д.
str_R1C12 = "R" + Mid(Str(5), 2, Len(Str(5)) - 1) + "C" + Mid(Str(i), 2, Len(Str(i)) - 1) 
                         'Записываем в ячейку формулу вид
obj_Range.FormulaR1C1 = "=sum(" + str_R1C11 + ":" + str_R1C12 + ")"
Next i

Формирование таблицы с вводом формул подсчета итогов по строкам и столбцам 15.3.8. Interior - внешний вид ячейки Позволяет управлять внешним видом ячейки. В частности, настраивать ее цвет. Например, такой код (листинг 15.23.) позволяет окрасить ячейку A1 в красный цвет

Range("A1").Interior.Color = vbRed

Листинг 15.23. Окраска ячейки в красный цвет 15.3.9. Name - работа с именованными диапазонами 15-11-Range Name.xlsm - пример к п. 15.3.9. Позволяет узнать или установить имя ячейки или диапазона ячеек. Имена организованы в коллекцию Names. Именами удобно пользоваться для автоматического заполнения каких-либо заранее созданных таблиц. Рассмотрим пример. Создадим на рабочем листе MS Excel таблицу такого вида (табл. 15.1.)

2 комментария: