Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.04.2008, 14:19   #21
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
если из ст. А, В, переписать значения в файлы для сравнения, то ст. С, вовсе исчезает и при нажатии кн. "Перекрасить", закраска выполняется с единичным шагом
Да с единичным шагом. Я посмотрю в чем дело. Но исчезать ничего не исчезает. Кнопку, когда все будет отлажено, мы уберем.
Вот фрагмент Вашего кода:
Код:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
   Select Case Sh.CodeName
        Case "Лист1" To "Лист12", "Лист2" To "Лист9", "Лист14"
        dost = 240
        If Not Intersect(Target, _
           Sh.Range("B3:K1489")) Is Nothing Then Macro_Change Sh
1) Case [с Листа1 по Лист12] и [с Листа2 по Лист9] и Лист14.
Странно, не правда ли?
2) Макрос запускается, если изменено значение хотя бы одной ячейки из диапазона "B3:K1489" на указанных листах (13 штук).
3)
Цитата:
Исчезла "защищаем, снимаем защиту со всех листов" очень нужная штука.
Эта "штука" не исчезла. (посмотрите, Сервис->Макрос->Макросы. Она там есть). Сам код я перенес в модуль "Module1". Считаю, что так логичнее.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 28.04.2008, 14:34   #22
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Вот фрагмент Вашего кода:
1) Case [с Листа1 по Лист12] и [с Листа2 по Лист9] и Лист14.
Странно, не правда ли?.
Вот на скрине как выглядит полностью книга!
Наверное не надо было удалять листы, помеченны красной галкой!
Может перезалить, ни чего не убирая?
Цитата:
Макрос запускается, если изменено значение хотя бы одной ячейки из диапазона "B3:K1489" на указанных листах (13 штук)..
SAS888
Не знаю
Цитата:
Эта "штука" не исчезла. (посмотрите, Сервис->Макрос->Макросы. Она там есть). Сам код я перенес в модуль "Module1". Считаю, что так логичнее.
Ага, уже разобрася, так СУПЕР!

SAS888!
Вот прицепил полный файл МАЙ, голый без данных
Вложения
Тип файла: rar sf.rar (473.8 Кб, 11 просмотров)
Тип файла: rar М А Й.rar (664.8 Кб, 11 просмотров)

Последний раз редактировалось valerij; 28.04.2008 в 15:42.
valerij вне форума
Старый 29.04.2008, 05:09   #23
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Поправил. Работает, вроде бы так, как я хотел. Посмотрите, может еще что не так.
Немного поясню заложенный принцип работы.
При изменении значений в столбцах "A" или "B", а также при изменении значений по ссылке в столбцах "C" и (или) "D", а так же при открытии файла, запускается макрос, который просматривает не все подряд ячейки (это долго), а только те, которые изменились. Для такого контроля, в последних (для Excel 2003) столбцах листа сохранены текущие данные. Там же осуществляется контроль совпадения всех значений. Это "зеркало" сохраняется вместе с файлом. Конечно, если изменить за раз, например, все значения, то время выполнения процедуры будет эквивалентно просмотру всех ячеек подряд.
В общем, протестируйте, применительно к Вашим требованиям. Претензии принимаются.
Вложения
Тип файла: rar АПРЕЛЬ_3.rar (312.2 Кб, 15 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 29.04.2008, 11:50   #24
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Поправил. Работает, вроде бы так, как я хотел.
SAS888
Все ОК!
Но, на моем 2-х ядерном трудно, что либо сказать о "тормозах", завтра я в офисе поставлю, протестирую, отпишусь!
А как с выбором листов(Case "Лист1" To "Лист12", "Лист2" To "Лист9", "Лист14"), все правильно?

С П А С И Б О!
valerij вне форума
Старый 29.04.2008, 11:58   #25
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Зачем
Цитата:
"Лист2" To "Лист9"
, если уже есть
Цитата:
"Лист1" To "Лист12"
?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 29.04.2008, 12:32   #26
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Зачем , если уже есть ?
Это уже с учетом вложения "МАЙ"?
А, понял, я думал, что "Лист1" To "Лист12" , считается, как в левом окне, 1.10.11.12, пропускаю 13. 14. 15. 16. 18 и снова "Лист2" To "Лист9" (2. 3. 4. 5. ....9)

Последний раз редактировалось valerij; 29.04.2008 в 12:45.
valerij вне форума
Старый 29.04.2008, 12:51   #27
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Я бы на Вашем месте вообще бы не привязывался к CodeName. Как-то не наглядно. Почему бы не обращаться к листу, например, по порядковому номеру? Тогда, если переместить все листы, для которых не нужно выполнять процедуру, в конец книги (например, после 16-го), получим:
Код:
Select Case Sh.Index
        Case 1 To 15
        '
        '
    End Select
,обратите внимание, что это не одно и то же. Какой по счету лист - это видно, а какое у него кодовое имя - это нужно выяснять.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 29.04.2008 в 12:57.
SAS888 вне форума
Старый 29.04.2008, 13:00   #28
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
обратите внимание
Конечно, сейчас попробую.
SAS888
Я заметил, что при открытии этой книги(не зависит на каком листе я сохранил), всегда открывается на листе "НАКЛ", так должно быть?
valerij вне форума
Старый 29.04.2008, 13:11   #29
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А что, это мешает? При запуске макроса (в том числе и по событию открытия книги) в целях экономии строк кода, выполняется команда "Sheets("НАКЛ").Select". Затем все дальнейшие операции. Если мешает - можете, например, в коде макроса использовать конструкцию
Код:
With Sheets("НАКЛ")
        '
        '
    End With
Но тогда перед каждым обращением к ячейкам (диапазонам, строкам и т.д.) листа поставьте точку. Например, вместо
Код:
Cells(x.Row, "IS")
использовать
Код:
.Cells(x.Row, "IS")
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 29.04.2008, 13:23   #30
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
А что, это мешает?
Да как то не привычно.
SAS888
Сделай так, пожалуйста в "МАЙ"(чисто файл, май), бо я не сильно понял
valerij вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление громкостью Jupiter Общие вопросы Delphi 2 29.06.2008 15:43
Управление голосом prizrak1390 Общие вопросы Delphi 2 24.06.2008 21:04
управление CD ROMom Cricket2007 Помощь студентам 4 16.06.2008 16:01
Управление приложениями voron29 Общие вопросы Delphi 1 14.03.2008 12:38
вопрос - проблема с форматированием prickly Microsoft Office Excel 2 14.11.2006 10:14