![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
1. Прорисовка символов индекса в макросе "Формирование_бланка_ф7а_1" происходит следующим образом:
В основном (внешнем) цикле перебираем все символы (цифры) ячейки листа "Лист1", содержащей индекс. В этом цикле выделяем текущую цифру (переменная "n"). Затем, следует 2 цикла подряд. В 1-ом обрабатывается верхний квадрат (диапазон ячеек) формируемого символа, во 2-ом - нижний аналогично. Причем, адреса этих диапазонов определяются в этих же циклах с помощью "Resize" и "Offset". Как известно, все именованные константы в Excel имеют числовой эквивалент. Так, например, xlDiagonalUp = 6, xlEdgeLeft = 7 и т. д. (см. встроеннюю справку VBE). В каждом внутреннем цикле мы перебираем интересующие нас границы (от 6 до 10) и прорисовываем их согласно коду в массиве "a" Массив содержит 10 элементов по 10 символов. Элементы - это закодированные символы индекса от 0 до 9 по порядку. Каждый символ - это наши 10 границ (5 первых - для верхнего квадрата и 5 следующих для нижнего), которые имеют значения либо 1 = xlHairline, либо 4 = xlThick. Символ "#" VBE вставляет автоматически. Потому, что массив сформирован из чисел (чтобы не использовать кавычки), и если 10-ти разрядное число начинается с 4, то оно уже имеет тип "Double". Именно на это и указывает данный символ. Переменная "k" - это шаг смещения диапазона для формирования символов. Здесь, на всякий случай, я вставил проверку. Т. е. если по каким-либо причинам в индексе будет более 6-ти символов, то они не будут сформированы и не испортят данные на листе. 2. Знак $ в конце переменной FileNum$ означает, что переменная имеет тип "строковая". В прилагаемом файле эта переменная объявлена при описании, как "Dim FileNum As String". Поэтому, символ $ ни к чему. Этой переменной присваивается значение ячейки "AE1", осуществляется сохранение файла с этим именем, затем содержимое ячейки инкрементируется, подготавливая имя для последующего сохранения. 3. В прилагаемом файле проблема при работе с одной выделенной ячейкой исключена.
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 23.05.2014 в 03:28. |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 05.06.2010
Сообщений: 53
|
![]()
Спасибо за подробное разъяснение. я поняла как обрабатываются границы.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с выделенным диапазоном | DAN1L | Microsoft Office Excel | 5 | 29.11.2012 03:54 |
Функция с параметром диапазоном | savraska | Microsoft Office Excel | 5 | 26.05.2010 13:35 |
работа с диапазоном ячеек? | panzergto | Microsoft Office Excel | 4 | 01.04.2010 21:25 |
Работа с именным диапазоном | tae1980 | Microsoft Office Excel | 32 | 21.08.2009 11:10 |
работа с выделенным диапазоном | nastya007 | Microsoft Office Excel | 5 | 13.03.2009 08:33 |