Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Наступил на грабли - или всем пишущим макросы  [new]
Valll
Member

Откуда: Зеленоград
Сообщений: 350
Увлёкся написанием макросов в одном проекте. Количество макросов стало большим, тексты может и несложные для профи, но для меня уже на пределе. И вот поползли косяки...

А всё почему? Дело в том, что весь свой проект: таблицы, макросы я писал в режиме "автоматических вычислений", естественно, что при тестировании на небольшой БД всё работало. Но загнал я 65000 записей, переключился на "ручное вычисление" и началось...

Вообщем, всем пишущим макросы я настоятельно рекомендую с самого начала переводить Эксель в "ручное вычисление", и проверять каждый новый макрос именно в этом режиме с тем, чтобы не отлавливать "косяки" в дальнейшем...
10 апр 10, 19:40    [8610342]     Ответить | Цитировать Сообщить модератору
 Re: Наступил на грабли - или всем пишущим макросы  [new]
Ser Artur
Member

Откуда: Armenia
Сообщений: 1293
Ты так окончательно "убьешь" свой проект. Код тоже нужно оптимизировать, чтобы не было косяков
12 апр 10, 08:20    [8613355]     Ответить | Цитировать Сообщить модератору
 Re: Наступил на грабли - или всем пишущим макросы  [new]
Valll
Member

Откуда: Зеленоград
Сообщений: 350
На счёт "убить" даже не знаю что сказать. 2-й день нахожусь в истерике... Я уже писал в другой ветке, что промежуточные итоги на одном компе считаются - на другом нет. Но с этим я смирился - пустяковая "приблуда" - можно обойтись. Но вылезло другое, гораздо страшнее!!!

Пишу с клавиатуры бухгалтерскую проводку, ну как обычно: дата, дебет, кредит, сумма и т.д. Всё нормально. Заношу эту же проводку из формы с помощью макроса - всё ВНЕШНЕ нормально - те же величины... только оборотка не считается!!! Что, ЧТО не так? сам себя спрашиваю, выяснил... когда дату заношу с клавиатуры, например: 12.04.10 - всё нормально! Когда дата (КАК ДАТА!!!!) вносится из формы... Б...Ь! Та же дата вроде,, но Эксель как дату её не воспринимает и проводку не учитывает!

Может что не так в коде, посмотрите:

Worksheets("Проводки").Cells(Stroka_jornal, 3).Value = Format(DateValue(Calendar1), "dd.mm.yy") ' дата

Сама ячейка отформатирована как ДАТА ("дд.мм.гг").

Какая то хрень... с клавиатуры - нормально из этой строки макроса - не воспринимает (хотя и записывает в ячейку).
12 апр 10, 11:23    [8614291]     Ответить | Цитировать Сообщить модератору
 Re: Наступил на грабли - или всем пишущим макросы  [new]
vlth
Member

Откуда:
Сообщений: 454
Valll,

Worksheets("Проводки").Cells(Stroka_jornal, 3).Value = Format(DateValue(Calendar1), "dd.mm.yy") 'строка
Worksheets("Проводки").Cells(Stroka_jornal, 3).Value = Cdate(Format(DateValue(Calendar1), "dd.mm.yy"))'дата
12 апр 10, 11:55    [8614610]     Ответить | Цитировать Сообщить модератору
 Re: Наступил на грабли - или всем пишущим макросы  [new]
Valll
Member

Откуда: Зеленоград
Сообщений: 350
Нашёл!

Блин, вообщем вот как надо было...

Worksheets("Проводки").Cells(Stroka_jornal, 3).Value = DateValue(Calendar1)

А из-за Format() на работало!

Всем спасибо, за участие, примеры посмотрю.

Потерпите меня ещё немножко...

Хочу доделать свою бухгалтерию и выложить её в бесплатный доступ.
Сам то я на ней уже давно работаю, но одно дело для себя, другое дело для других. Из-за различных проверок,, улучшений и прочего файл разросся до 750кБ (был 650кБ). Выложить планирую к осени (если жив - здоров буду) - хочу книгу написать, а программа будет в качестве примера.
12 апр 10, 14:16    [8616007]     Ответить | Цитировать Сообщить модератору
 Re: Наступил на грабли - или всем пишущим макросы  [new]
Dophin
Member

Откуда: PlanetaExcel
Сообщений: 98
заходим в справку по VBA и читаем что пишут по поводу функции Format:
"Returns a Variant (String) containing .. "

потом смотрим что делает функция Cdate() : "Return Type: Date"

много думаем, берем учебник по самым основам VBA и читаем.

а не пугаем неопытных нас придуманными проблемами)
12 апр 10, 14:17    [8616014]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Наступил на грабли - или всем пишущим макросы  [new]
Value-Andrey
Member

Откуда:
Сообщений: 1
Valll,

Добрый день! Ну как, у Вас получилось закончить Ваш проект и книгу? С удовольствием бы почитал Вашу книгу с примерами.
14 сен 18, 13:54    [21674714]     Ответить | Цитировать Сообщить модератору
 Re: Наступил на грабли - или всем пишущим макросы  [new]
Valll
Member

Откуда: Зеленоград
Сообщений: 350
Value-Andrey,

Андрей, спасибо за интерес к моей программе. Книги нет - есть описание программы. Могу дать почитать.
25 ноя 18, 23:35    [21744353]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить