|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.06.2012, 03:35 | #1 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
Конфликт кодов
Подсмотрел тему « Как изменить цвет», из двух примеров любезно «выложенных» SAS888, слепил код . Но когда вставил его в модуль Эта Книга , где уже присутствует код для скрытия столбцов (две верхнии строки) редактор выдает Runtime error 424 Object required и ссылается на строку
.Borders(xlEdgeLeft).LineStyle = xlNone В чем дело? Прошу помощи от знающих. Благодарю за внимание Коды модуля ЭтаКнига Private Sub Workbook_Open(): Run "Beg": End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean): Run "Ending": End Sub Код изменения цвета границ выделенной ячейки Dim OldCell As Range Private Sub ColorIndex() Set OldCell = ActiveCell End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range) With Target With .Borders(xlEdgeLeft): .LineStyle = xlContinuous: .Weight = xlThin: .ColorIndex = 8: End With With .Borders(xlEdgeTop): .LineStyle = xlContinuous: .Weight = xlThin: .ColorIndex = 8: End With With .Borders(xlEdgeBottom): .LineStyle = xlContinuous: .Weight = xlThin: .ColorIndex = 8: End With With .Borders(xlEdgeRight): .LineStyle = xlContinuous: .Weight = xlThin: .ColorIndex = 8: End With End With With OldCell .Borders(xlEdgeLeft).LineStyle = xlNone .Borders(xlEdgeTop).LineStyle = xlNone .Borders(xlEdgeBottom).LineStyle = xlNone .Borders(xlEdgeRight).LineStyle = xlNone End With Set OldCell = Target End Sub |
21.06.2012, 03:53 | #2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Ошибка из-за того, что это (как и последующие) свойство относится к ячейке OldCel, которая у Вас не определена. Для устранения ошибки, строку кода
Код:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 21.06.2012 в 04:05. |
21.06.2012, 04:29 | #3 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
SAS888, Спасибо конфликт исчез, но всплыло другое, а именно: При выборе ячеек существующей таблицы происходит уничтожение границ(линий) ячейки(диапазона).
|
21.06.2012, 06:15 | #4 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
При активации ячейки макрос меняет существующие границы на свои. При деактивации - уничтожает все границы.
Для того, чтобы границы не уничтожались, а восстанавливались, нужно их запоминать. Все возможные границы и их свойства запоминать ни к чему. Прикрепите Ваш файл с прорисованными границами (можно без значений ячеек) - посмотрим, как лучше сделать.
Чем шире угол зрения, тем он тупее.
|
21.06.2012, 06:57 | #5 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
Вот файл, и еще - необходимо чтобы границы не менялись при скрытии и отображении столбцов
|
22.06.2012, 09:39 | #6 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Весь код в модуле "Эта книга" замените на следующий:
Код:
Чем шире угол зрения, тем он тупее.
|
23.06.2012, 02:28 | #7 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
Сразу, извиняюсь за назойливость, понимаю что, поднятая тема не так уж и важна для решения даже не глобальных задач, но "А" было произнесено, хотелось бы услышать и "Б". Благодарен SAS888 за решение, цветная ячейка действительно акцентирует внимание на рабочем листе, линии границ таблицы остаются первобытными при "хождении" по таблице.
Осталась неудолетворенность от: 1). В моем примере(Акт1) границы исчезают при скрытии столбцов(правая кнопка мышки) 2). Невозможно прорисовать границы ячейки при создании новой таблицы. Прошу помощи у профи VBA. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конфликт кодов | Brucebelg | Microsoft Office Excel | 3 | 10.02.2012 12:20 |
Конфликт перехвата? | Fedor666 | Общие вопросы C/C++ | 0 | 27.11.2011 12:28 |
конфликт jquery | johny_03 | JavaScript, Ajax | 1 | 18.11.2011 00:09 |
Конфликт IP | Fellics{новичок} | Компьютерное железо | 3 | 30.12.2009 19:15 |
Конфликт версий? | Bezdar | Microsoft Office Excel | 8 | 06.07.2009 17:44 |