|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.04.2010, 16:08 | #1 |
Пользователь
Регистрация: 16.04.2010
Сообщений: 49
|
Очистка линии
Пишу на ВБА. В конце рисуеться линия, в зависимости от значений. А когда вношу новые значения линия рисуеться новая ,а старая остаеться .Как убрать старую?
|
20.04.2010, 16:35 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
С такими вопросами обращайтесь на форум телепатов.
А если хотите, чтобы вам помогли на этом форуме, выкладывайте пример файла с кодом и линиями. |
20.04.2010, 17:17 | #3 |
Пользователь
Регистрация: 16.04.2010
Сообщений: 49
|
))я просто думал что такой вопрос токо ламеры задают...
l1 = [C30].Left l2 = l1 + d1 + d2 + d3 + d4 v = [C30].Top - [A6] ActiveSheet.Shapes.AddLine(l1, v, l2, v).Select Selection.ShapeRange.Line.Weight = 1.5 таким образом я рисую линию....а потом когда ввожу новые даные, то эта линия не просто меня ет свое место, рисуеться новая , а старая остаеться....я думаю что есть какаето простенькая команда которая удалюет старую линию, перед выполнением програмы.а какая?)))) |
20.04.2010, 18:41 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
А мне помог бубен
Код:
Анализ,обработка данных Недорого
|
20.04.2010, 18:57 | #5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
не исключаю, что вот так можно снести последнюю нарисованную линию:
ActiveSheet.Shapes(ActiveSheet.Shap es.Count).delete это предположение. Пробуйте, проверяйте. т.е. прежде чем рисовать линию - удаляем предыдущую, основываясь на предположении что она последняя в коллекции Shapes.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
20.04.2010, 22:49 | #6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Совет doober представляется самым верным: присвоить имя построенной линии и удалять по имени. Заодно посмотрите, как правильно работать с объектами Shape
Лучше день потерять — потом за пять минут долететь!©
|
21.04.2010, 04:38 | #7 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
А по-моему, в данном случае есть смысл не удалять и рисовать, а вырезать и вставлять.
Чем шире угол зрения, тем он тупее.
|
21.04.2010, 05:11 | #8 |
Форумчанин
Регистрация: 25.03.2010
Сообщений: 417
|
а зачем вооюще удалять/рисовать и/или вырезать/вставлять? Не проще ли просто переместить?
|
21.04.2010, 10:19 | #9 |
Пользователь
Регистрация: 16.04.2010
Сообщений: 49
|
ActiveSheet.Shapes(ActiveSheet.Shap es.Count).delete - работает отлично!
Всем огромное спсибООООООООО! |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вертикальные линии в отчете | Nikolaeva | БД в Delphi | 3 | 30.07.2019 09:45 |
Как изменить цвет линии? | _Studentka_ | Общие вопросы .NET | 9 | 05.04.2010 18:28 |
динамические линии | DIMEDROL1985 | Помощь студентам | 2 | 24.01.2010 00:37 |
очистка get | Gromsky | PHP | 1 | 19.08.2009 19:15 |
ЛИНИИ УРОВНЯ (ПАСКАЛЬ) | mens-evgenij | Помощь студентам | 1 | 22.05.2009 09:50 |