|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
20.05.2008, 17:07 | #51 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Ребята!!!
Я SAS888 уже замучал, вроде все у меня получилось, не пойму только, почему если разкоментирую строку(в аттаче синим шрифтом) перестает работать .... With Sh.Range("I10:I15").Offset(iCount& * 48) .FormulaR1C1 = "=IF(COUNTIF(НАКЛ!R2C255:R619C2 55,R[-7]C)>0,R[-7]C,0)" '.Value = .Value End With З. Ы. SAS888 Заработало, когда я заменил If Sheets(.).Cells(i, "I") <> "" And Sheets(.).Cells(i, "I") <> 0 _ на If Sh.Cells(i, "I") <> "" And Sh.Cells(i, "I") <> 0 _ Фу, все заработало, нужно было .Value = .Value поставить в самом конце кода поиска от SAS888 Но меня терзают смутные сомнения, что Тема, будет иметь продолжения!! Последний раз редактировалось valerij; 20.05.2008 в 23:26. |
21.05.2008, 05:40 | #52 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Желаю удачи.
Но вообще-то, не рационально с помощью VBA в ячейку листа вставлять формулу (Cells(x, y).FormulaR1C1=...), затем использовать результат ее выполнения, а саму формулу уничтожать (.Value=.Value). Вы это часто применяете в своем коде. Не лучше ли сразу в VBA вычислять все, что требуется и результат вставлять в нужную ячейку? Например, Cells(x, y) = Application.CountIf(...)
Чем шире угол зрения, тем он тупее.
|
21.05.2008, 13:30 | #53 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
Это для меня, пока, темень, но обязательно начну разбираться! Огромаднейшее, С П А С И Б О! |
|
22.05.2008, 10:31 | #54 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
А мона реальный, рабочий пример, не знаю с какого бока подойти. Кстати, (.Value=.Value), мне пришлось убрать, т. к. вычисления суммы найденных № накл. происходят только в одном числе, а предыдущее значение, сбрасывается в ноль. Я думал, что (.Value=.Value) это скрытие формул? |
|
22.05.2008, 11:22 | #55 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Например,
Код:
Теперь по поводу использования формул листа. Пусть, например, требуется подсчитать количество ячеек в диапазоне "A1:A20", содержащих число "12345" и результат поместить в ячейку "D3". Вы используете Код:
Рациональнее сделать так: Код:
Успехов!
Чем шире угол зрения, тем он тупее.
|
22.05.2008, 17:22 | #56 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
SAS888
Новая проблема, вкл. защиту листов, предварительно в формате-защита снял галки с ячеек где выводятся № и сумма, только ввел №, пишет: "Run-time error '1004' Ячейка или диаграмма защищена от изменений. Чтобы изменить защищенную ячейку или диаграмму, снимите защиту при помощи команды "Снять защиту листа" (меню "Сервис", подменю "Защита"). Может потребоваться ввод пароля." И желтым цветом указывает на Sh.Cells(b + 1, "I") = Summa Без защиты все ОК, но защита мне нужна, а че? |
23.05.2008, 05:47 | #57 | ||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Возможно, причина в следующем:
При защите листа, Вы применяете UserInterfaceOnly:=True. Это позволяет макросу вносить изменения в защищенные ячейки листа, в то время как пользователь такой возможности не имеет. Все правильно. Но у этого метода есть одна тонкость: эта возможность не сохраняется, т.е. UserInterfaceOnly:=True необходимо повторять при каждом открытии файла. Проверить, так это или нет, можно следующим образом: откройте файл, запустите ту процедуру, которая приводит к возникновению описанной Вами ошибке (просто, убедимся, что она возникает). Теперь снимите защиту со всех листов (с помощью имеющегося у Вас макроса) и установите заново (опять же макросом, который использует UserInterfaceOnly:=True). Запустите "проблемную" процедуру снова. Повторяется ошибка? Если причина в этом, то по событию открытия книги нужно снимать и вновь устанавливать защиту листов. При применении UserInterfaceOnly:=True обычно так и делается. P.S. Это то, что касается работы макроса. Но я так и не понял, что происходит. Вы говорите, что Цитата:
Цитата:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 23.05.2008 в 06:02. Причина: Добавлено |
||
23.05.2008, 15:11 | #58 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
SAS888 Сегодня пробовал на офисном ПК -1.8 х 384озу(на моем 2-х яд. все летает), выявилось вот, что Идут тормоза, когда ввожу данные, я понимаю, что выполняется также поиск ...., я же Ваш макрос вставил в свой, основной, я беру его и закомментирую(а когда он мне будет нужен, разкоментирую)скорость сразу возросла, но формула "ЕСЛИ(СЧЁТЕСЛИ..." то остается и она все равно работает, так же? А если сделать как в Вашем первоначальном, варианте, через отдельный модуль, в этом будет выигрыш? Хотелось бы что бы Ваш макрос начинал работать, только тогда, когда я начинаю вводить № накладных или так просто не возможно? |
|
23.05.2008, 15:45 | #59 | |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
valerij, Вы с SAS888 так общаетесь, что вроде как неудобно влазить в ваш разговор. Но раз уж Вы сами сказали
Цитата:
Код:
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
|
23.05.2008, 16:11 | #60 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
ScreenUpdating = False У меня вообще отключено ибо сильно дергается экран, особенно на офисном ПК. .Calculation = xlManual Вообще не знаю, что это такое Я с Excel-ем всего пол года, так, что........ламер |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Управление громкостью | 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 |