|
Наступил на грабли - или всем пишущим макросы
|
|||
---|---|---|---|
#18+
Увлёкся написанием макросов в одном проекте. Количество макросов стало большим, тексты может и несложные для профи, но для меня уже на пределе. И вот поползли косяки... А всё почему? Дело в том, что весь свой проект: таблицы, макросы я писал в режиме "автоматических вычислений", естественно, что при тестировании на небольшой БД всё работало. Но загнал я 65000 записей, переключился на "ручное вычисление" и началось... Вообщем, всем пишущим макросы я настоятельно рекомендую с самого начала переводить Эксель в "ручное вычисление", и проверять каждый новый макрос именно в этом режиме с тем, чтобы не отлавливать "косяки" в дальнейшем... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2010, 19:40 |
|
Наступил на грабли - или всем пишущим макросы
|
|||
---|---|---|---|
#18+
Ты так окончательно "убьешь" свой проект. Код тоже нужно оптимизировать, чтобы не было косяков ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2010, 08:20 |
|
Наступил на грабли - или всем пишущим макросы
|
|||
---|---|---|---|
#18+
На счёт "убить" даже не знаю что сказать. 2-й день нахожусь в истерике... Я уже писал в другой ветке, что промежуточные итоги на одном компе считаются - на другом нет. Но с этим я смирился - пустяковая "приблуда" - можно обойтись. Но вылезло другое, гораздо страшнее!!! Пишу с клавиатуры бухгалтерскую проводку, ну как обычно: дата, дебет, кредит, сумма и т.д. Всё нормально. Заношу эту же проводку из формы с помощью макроса - всё ВНЕШНЕ нормально - те же величины... только оборотка не считается!!! Что, ЧТО не так? сам себя спрашиваю, выяснил... когда дату заношу с клавиатуры, например: 12.04.10 - всё нормально! Когда дата (КАК ДАТА!!!!) вносится из формы... Б...Ь! Та же дата вроде,, но Эксель как дату её не воспринимает и проводку не учитывает! Может что не так в коде, посмотрите: Worksheets("Проводки").Cells(Stroka_jornal, 3).Value = Format(DateValue(Calendar1), "dd.mm.yy") ' дата Сама ячейка отформатирована как ДАТА ("дд.мм.гг"). Какая то хрень... с клавиатуры - нормально из этой строки макроса - не воспринимает (хотя и записывает в ячейку). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2010, 11:23 |
|
Наступил на грабли - или всем пишущим макросы
|
|||
---|---|---|---|
#18+
Valll, Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2010, 11:55 |
|
Наступил на грабли - или всем пишущим макросы
|
|||
---|---|---|---|
#18+
Нашёл! Блин, вообщем вот как надо было... Worksheets("Проводки").Cells(Stroka_jornal, 3).Value = DateValue(Calendar1) А из-за Format() на работало! Всем спасибо, за участие, примеры посмотрю. Потерпите меня ещё немножко... Хочу доделать свою бухгалтерию и выложить её в бесплатный доступ. Сам то я на ней уже давно работаю, но одно дело для себя, другое дело для других. Из-за различных проверок,, улучшений и прочего файл разросся до 750кБ (был 650кБ). Выложить планирую к осени (если жив - здоров буду) - хочу книгу написать, а программа будет в качестве примера. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2010, 14:16 |
|
Наступил на грабли - или всем пишущим макросы
|
|||
---|---|---|---|
#18+
заходим в справку по VBA и читаем что пишут по поводу функции Format: "Returns a Variant (String) containing .. " потом смотрим что делает функция Cdate() : "Return Type: Date" много думаем, берем учебник по самым основам VBA и читаем. а не пугаем неопытных нас придуманными проблемами) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2010, 14:17 |
|
Наступил на грабли - или всем пишущим макросы
|
|||
---|---|---|---|
#18+
Valll, Добрый день! Ну как, у Вас получилось закончить Ваш проект и книгу? С удовольствием бы почитал Вашу книгу с примерами. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 13:54 |
|
|
start [/forum/topic.php?desktop=1&fid=61&tid=2172190]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 284ms |
total: | 418ms |
0 / 0 |