|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
25.04.2008, 15:26 | #11 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
во блин.. спасибо .. а почему скрипту не пофиг как там что формулы вычисляют??
|
05.05.2008, 12:32 | #12 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
и по всей видимости предпоследнее!
как заставить If ... Then выполнять 2 действия при соблюдении одного условия?? и соответсвенно их не выполнять в случае несоблюдения. предметно: есть строка - If Cells(i - 6, "B") <> "Додати упаковку (+)" Then Rows(i - 2).Delete мне надодо чтобы было два делита - Rows(i - 2).Delete и еще один .. вот как он определяется: For u = ActiveCell.Row To 2000 If Cells(u, "A") = "транспортировка 2" Then Exit For Next Rows(u - 1).Delete как теперь это совместить ?? по отдельности работатет, а вместе че-то не получается |
05.05.2008, 12:44 | #13 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
сделал так:
If Cells(i - 6, "B") <> "Додати упаковку (+)" Then Rows(i - 2).Delete For u = ActiveCell.Row To 2000 If Cells(u, "A") = "транспортировка 2" Then Exit For Next Rows(u - 1).Delete End If End If работатет .. но почему два End If ???? .. что за заморочка?? |
05.05.2008, 13:46 | #14 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Один лишний.
Если без него компилятор "ругается" - ищите в другом месте. Где-то значит есть If без End If.
Чем шире угол зрения, тем он тупее.
|
05.05.2008, 15:21 | #15 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
вот весь абзац с моим редактированием:
If ActiveCell.Column = 4 And ActiveCell = "Видалити упаковку (-)" Then For i = ActiveCell.Row To 2000 If Cells(i, "A") = "упаковка 2" Then Exit For Next If Cells(i - 6, "B") <> "Додати упаковку (+)" Then Rows(i - 2).Delete For u = ActiveCell.Row To 2000 If Cells(u, "A") = "транспортировка 2" Then Exit For Next Rows(u - 1).Delete End If End If до того он был таким: If ActiveCell.Column = 4 Then For i = ActiveCell.Row To 2000 If Cells(i, "A") = "упаковка 2" Then Exit For Next If Cells(i - 6, "B") <> "Додати упаковку (+)" Then Rows(i - 2).Delete End If П.С. оба варианта рабочие. Последний раз редактировалось kievlyanin; 05.05.2008 в 15:23. Причина: уточнение |
05.05.2008, 15:33 | #16 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Ну, так все ж правильно. Чего вы хотите?
Советую писать код со смещением по блокам. Сразу все видно. Вот, например, Ваш код: Код:
Чем шире угол зрения, тем он тупее.
|
05.05.2008, 16:23 | #17 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
хочу понимать почему заработало ... а то я сделать сделал но чисто на интуиции ...
а во втором варианте End If закрывает первую строку ... но в середине то есть еще одно If !! .. : If Cells(i - 6, "B") <> "Додати упаковку (+)" Then Rows(i - 2).Delete почему тут не требуется второго End If ?? |
05.05.2008, 16:31 | #18 | |
Форумчанин Подтвердите свой е-майл
Регистрация: 14.11.2007
Сообщений: 163
|
Цитата:
Jungo must die!!! (C) Bill Gates.
|
|
05.05.2008, 17:43 | #19 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
короче вот что получилось
это не финальный файл - тут только 99,9% отработаны все ВБАшные прибамбасы - самих формул нет. значит есть таблица (это отдельное физлицо/юрлицо) в которой есть 2 подтаблицы - виды упаковки (различны формулы по которым будет выводится стоимость и т.д. и т.п.) каждый из этих видов еще имеет "в нагрузку" под_под_таблицу с рассчетом стоимости транспортировки которая зеркальное отражение первой подтаблицы. значит работает так - если добавляем новую упаковку вида 1 то паралельно добавляется к ней транспортировка в соответсвующей подтаблице. соответсвенно с упаковкой вида 2. при этом сами таблицы автоматически копируются /удаляются ... т.е. количество юрлиц по которым ведется учет ограничен только высотой листа. добавление таблиц идет строго в области до желтой строки - под ней будут всяческие результирующие таблицы по всему тому художеству что наберется над желтой строкой. вот. еще раз большая благодарность SAS888 за идею и техническую поддержку. кому надо - берите пользуйтесь, улучшайте для собственных задач |
05.05.2008, 17:47 | #20 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
кстати единственное что я бы еще тут хотел изменить - так это гиперссылки ... неудобно .. курсор на них западает ... если бы это как-то перевести на обычную клавишу.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объеденение 2-х таблиц | Stanislav | БД в Delphi | 3 | 28.07.2008 09:44 |
Сведение таблиц | Funky_man | Microsoft Office Excel | 1 | 09.01.2008 07:20 |
Сведение таблиц | Funky_man | Microsoft Office Excel | 1 | 08.01.2008 03:36 |
Копирование таблиц из одной базы в другую | KuH | БД в Delphi | 7 | 27.09.2007 15:18 |