Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Не выполняется строчка когда с первого раза
 
есть исходный файл выгруженный из автокада макросом далее в этом макросе запускается макрос находящийся в экселе который должен считать данные из этого извлеченного файла. но получается так что если таблица уменьшилась то моя таблица заполняется в точности как и исходная а за ее пределами остаются значения хотя в начале кода есть строчка очищающая лист. если же запустить макрос дважды то все очищается и сановится как надо кто знает в чем причина?
Код
Sheets("Лист1").Cells.ClearContents
прикладываю скрин( слева мой; справа исходник)
Снимок1.PNG (66.3 КБ)
 
Думаю причина в разных Экселях. Или разных файлах. Кто знает... информации 0, одна вода...
Изменено: Hugo - 11 Мар 2018 17:48:50
 
это не просто ноль это почему то нестертая ссылка на соответствующую ячейку исходного файла...
 
Simson, вот и мы также ничего не поняли из #1, как Вы из #2.
 
Заносите данные на новый лист и проблем не будет таких.
Никаких врагов, зато и никаких друзей.
 
устану каждый раз новый лист создавать.. еще и оставлять кучу старых..  
 
А макрос на что? Удалите ненужный лист, создайте макросом новый лист.
Никаких врагов, зато и никаких друзей.
 
Цитата
Simson написал:
кто знает в чем причина?
100% в кривом коде. Других вариантов нет. Проверяйте имена листов, что у Вас в Cells попадает и т.д. Мы без файл ничего другого не подскажем. Тем более Вы привели лишь одну строку кода - а откуда знать, что проблема именно в ней, а не в других?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
код если запустить его из екселя то работает правильно! или же если запустится из автокада второй раз то тоже очищает все это
 
Ну тогда, думаю как и Hugo, причина в разных экземплярах приложения
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Simson написал:
если запустить его из екселя то работает правильно!
а как Вы его запускаете не из Excel? Как подключаетесь к файлу и нужному листу? Что там вообще в коде? Вы выпалили минимум информации для понимания проблемы - на какую помощь рассчитываете? Поймите, если код из одного приложения работает правильно, а из другого нет - проблема где-то между, не так ли? Значит на это и делайте упор и приведите уже полностью код, опишите как и откуда запускаете - только не так, как в первом посте(сумбурно и одному Вам понятно), а вдумчиво и по шагам. Тогда, думаю, проблему можно будет найти. А пока это гадание на кофейной гуще.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
а подробнее? всм разные экземпляры?
при чем если заполнить ячейки за пределами таблицы(вручную) то их он очистит с первого раза. а вот те ячейки которые были заполнены макросом в предыдущий раз и которые не заполняются макросом в этот раз( таблица уменьшилась) остаются как и были.
Изменено: Simson - 11 Мар 2018 19:27:43
 
Simson, Дайте шанс, продемонстрируйте коды, а не  ..... А пока ответ только один - тут у вас какая-то неисправность.
 
Offtop
Цитата
БМВ написал:
Дайте шанс, продемонстрируйте коды
Михаил, код секретный, ноухау. ТС убыток понесёт, если все пользоваться будут.
 
БМВ, иш Вы какой хитрый  :) . Зашел, увидел, победил...  :) . Написано-же
Цитата
Не выполняется ... когда с первого раза
поуговаривать нужно ;)  
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Андрей VG написал:
ТС убыток понесёт
Андрей,пусть не говорит куда он его понесет :-) . Просто за последние несколько дней Security increase случился. У меня закончилась сыворотка правды и сломались клещи, такой ТС стойкий пошел.
 
Simson,
за указанной строкой внесите строку
Debug.Print sheets.Parent.fullname
изучайте содержимое окна Immediate редактора, после каждого срабатывания макроса пока не поймете в какой именно книге очищается содержимое листа Лист1
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
спасибо конечно.. но я точно знаю что на этом листе.. я ж говорю проверял писал цифры в других ячейках вручную.. они чистились.. все кроме созданных макросом значений.. из экселя все работает часы..
где то косяк на границе автокада и екселя.. попробую иначе написать одно место..

всем спасибо за ответы и подколы)
Изменено: Simson - 11 Мар 2018 20:23:51
 
лист-то точно Лист1 (Sheets("Лист1")), а вот в КАКОЙ КНИГЕ - это вопрос?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
ситуация с "квадратными картинками" повторяется...
 
в любых "непонятках" с работой макроса сосредоточьтесь на мысли:
"что я не предусмотрел в своем макросе, что позволяет ему непредсказуемо работать?"
вместо
"что за мистика в работе Excel? такого точно не должно быть!!!"
в общем, переместитесь из зоны астральных размышлений о непредсказуемых диффузиях пространства и времени в зону анализа текста своего макроса - это стандартный способ найти и устранить ошибку.
Изменено: Ігор Гончаренко - 11 Мар 2018 20:43:22
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
и в этой книге! что то очищается же.. не само собой
 
...тихо сам с собою...
Согласие есть продукт при полном непротивлении сторон.
 
да я уже забил просто на тот сценарий... пошел ддругой дорогой.. поэтому не вижу смысла дальше обсуждать.. если столкнусь с тем же приложу все кодовые выкладки)
Изменено: Simson - 11 Мар 2018 21:19:46
 
Цитата
Simson написал:
не само собой
пока мы код не увидим, то считаем что именно само собой.
 
Цитата
БМВ написал: именно само собой.
...волшебство...
Согласие есть продукт при полном непротивлении сторон.
 
промысел русских хакеров
 
Ну и слава Богу. Все, у кого возникнут подобные проблемы, будут рады тому, что Вы эту тему все таки подняли
Согласие есть продукт при полном непротивлении сторон.
Страницы: 1
Читают тему (гостей: 1)
Наверх