Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
04.08.2014, 11:41
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
Записанным макросом копирую данные из листа в другой лист и использую его как черновик Код: vbnet 1. 2. 3. 4. 5. 6.
Потом кодом иду в цикле перебираю ячейки ну что то вроде Код: vbnet 1. 2. 3. 4. 5. 6. 7.
в отладчике смотрю, что иногда в ячейках появляются не понятные мне значения, которых просто ну не может быть и не откуда им взяться. соответственно результат получается не правильный, НО! если я копирую лист , данные на другой лист руками- копипастой, и запускаю макрос еще раз, все считается так как положено. Помогите разобраться, почему это происходит, и могут ли формулы в ячейках влиять как то ? Хоят я пробовал и пересчитывал абсолютно все в макросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 11:59
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
ssaich, ii=0 в начале кода?! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 12:00
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
ssaichв отладчике смотрю, что иногда в ячейках появляются не понятные мне значения, которых просто ну не может быть и не откуда им взяться.Нормально так... ты почто в отладчик лезешь, если его использовать не умеешь? сперва поучись, что ли... Посмотри текущее состояние - окна locals и watchdog в помощь. Просчитай, как и что изменится после выполнения ОДНОГО текущего оператора. Выполни ОДИН оператор. Сравни ожидаемое и полученное. Не совпадает? Вот теперь разбирайся, почему твои расчёты не оправдались. Ищи свою ошибку. Машина - она ж дура. Она делает строго то, что ты сказал. А вовсе не то, что ты хотел. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 12:01
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
и вообще, функция =СУММЕСЛИ() вам в помощь, нафига тут макросы?! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 12:31
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
PlanBssaich, ii=0 в начале кода?! все есть ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 12:33
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
PlanBблин, Summa=0, ii=1 Сумма обнуляется в конце, да прикол в том что ,я удаляю из листа все кроме двух строк, считает не правильно, внимание !!! можно назвать как чудеса, я оставляю другие две строки, они считаются сразу и правильно! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 12:49
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
PlanBи вообще, функция =СУММЕСЛИ() вам в помощь, нафига тут макросы?! Расскажите это простому пользователю который ничего не хочет делать, кроме как нажать на кнопку "Получить сделать все красиво и классно!" ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 12:51
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
Попробуйте не переключаться между листами. Сначала активируйте первый лист, сделайте все что надо, при необходимости сохраните в массив. И уже в конце записывайте результат на другой лист. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 12:58
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
ssaichРасскажите это простому пользователю который ничего не хочет делатьПростому пользователю надо рассказать, что компьютер - это его рабочий инструмент. И заострить его внимание на том, что "специалиста", не умеющего работать со своим основным рабочим инструментом, принято выгонять и менять на грамотного. Очень мотивирует, надо сказать... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 13:24
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
Piple0Попробуйте не переключаться между листами. Сначала активируйте первый лист, сделайте все что надо, при необходимости сохраните в массив. И уже в конце записывайте результат на другой лист. Так и сделал, пересчитал все опять кодом, и весь результат записал в другой лист, потом начал брать информацию от туда же, и почему то все встало на свои места, но теперь вопрос в другом, что же такого могло быть необычного в другом листе ? Формулы... ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 13:25
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
AkinassaichРасскажите это простому пользователю который ничего не хочет делатьПростому пользователю надо рассказать, что компьютер - это его рабочий инструмент. И заострить его внимание на том, что "специалиста", не умеющего работать со своим основным рабочим инструментом, принято выгонять и менять на грамотного. Очень мотивирует, надо сказать... Шли бы в лес ! ) Смею предположить что вы "резкий как понос",юноша ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 13:30
|
|||
---|---|---|---|
|
|||
VBA макрос |
|||
#18+
Модератор: Юноши, прошу умерить свой пыл во избежание. Акина, считаю, ты излишне резок, ТС вызвигает вполне справедливые требования ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 14:16
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
перепишите процедуру копирования с листа на лист. вставляйте только результаты. range(лист1).value=range(лист2).value. ну или специальная вставка - значения (в макрорекордере запишите). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 15:10
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
ssaich , извольте не хамить. Да и по возрасту я постарше буду, не Вам меня юношем называть. А то, что Вас ткнули носом в недостаточное знание Вами Вашего же рабочего инструмента, то это должно быть поводом не к возмущениям, а к более интенсивному самообразованию. Кстати, проблему Вы так и не решили, и её причины так и не нашли, так что, вероятно, она вылезет ещё раз - на этом ли файле или на другом, не так важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 15:24
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
Не вижу, где задается значение для Str1. Если это происходит разово - то зачем постоянно проверять в цикле на его неравенство "0"? И почему проверка происходит на Лист 2 , а суммирование на Лист ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.08.2014, 15:27
|
|||
---|---|---|---|
VBA макрос |
|||
#18+
Забыл, этот блок: Код: vbnet 1. 2. 3. 4. 5. 6.
можно заменить одной всего строкой: Код: vbnet 1.
И т.к. далее Вы все равно постоянно указываете полный путь до листа, то активировать Лист2 нужды нет. И можно применить With: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=61&mobile=1&tid=2173903]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 137ms |
0 / 0 |