Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Ошибка файла после запуска макроса (ов) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Ошибка файла после запуска макроса (ов)
yuka Дата: Среда, 26.12.2012, 15:54 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Друзья! В каких случаях (может они существуют) может возникнуть такая ошибка при открытии файла?
Удаленное свойство: Проверка данных из части /xl/worksheets/sheet1.xml

При открытии файла макросом формируется столбец с ниспадающими списками. Далее в следующих справа столбцах выбираются связанные ниспадающие списки. Формирование списка во втором столбце идет только в том случае, если в первом столбце что-то выбрано. Формирование третьего - от второго и т.д.
Все работает без ошибок и проблем. После сохранения, закрытия и повторного открытия файла возникает эта ошибка. Данные (текст) из ячеек не пропадает, но "присвоение" ячейке ниспадающего списка пропадает. Т.е. пользователь не может повторно его редактировать. Версия Excel 2007.

1. если я сохраняю файл в версии 2003, то списки не пропадают.
2. ячейкам со списками присваивается не именованный диапазон, (Formula1) а строка, в которой больше 255 символов (Formula1 вбирает в себя до 8000 символов)

Сначала была причина в том, что я использовала Select. Исправила - ликвидировала Select вообще из макросов. Но после этого еще где-то что-то лагает и портится.
Есть у кого-нибудь еще какие-нибудь варианты?
Еще по моим наблюдениям... если в списках маленькое количество информации (больше 255 символов, например 800), то глюков с открытием файла не возникает. А если большое количество - 3000, 5000 - возникает ошибка.
 
Ответить
СообщениеДрузья! В каких случаях (может они существуют) может возникнуть такая ошибка при открытии файла?
Удаленное свойство: Проверка данных из части /xl/worksheets/sheet1.xml

При открытии файла макросом формируется столбец с ниспадающими списками. Далее в следующих справа столбцах выбираются связанные ниспадающие списки. Формирование списка во втором столбце идет только в том случае, если в первом столбце что-то выбрано. Формирование третьего - от второго и т.д.
Все работает без ошибок и проблем. После сохранения, закрытия и повторного открытия файла возникает эта ошибка. Данные (текст) из ячеек не пропадает, но "присвоение" ячейке ниспадающего списка пропадает. Т.е. пользователь не может повторно его редактировать. Версия Excel 2007.

1. если я сохраняю файл в версии 2003, то списки не пропадают.
2. ячейкам со списками присваивается не именованный диапазон, (Formula1) а строка, в которой больше 255 символов (Formula1 вбирает в себя до 8000 символов)

Сначала была причина в том, что я использовала Select. Исправила - ликвидировала Select вообще из макросов. Но после этого еще где-то что-то лагает и портится.
Есть у кого-нибудь еще какие-нибудь варианты?
Еще по моим наблюдениям... если в списках маленькое количество информации (больше 255 символов, например 800), то глюков с открытием файла не возникает. А если большое количество - 3000, 5000 - возникает ошибка.

Автор - yuka
Дата добавления - 26.12.2012 в 15:54
KuklP Дата: Среда, 26.12.2012, 16:42 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[offtop]
Цитата (yuka)
столбец с ниспадающими списками

Смеркалось...[/offtop]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[offtop]
Цитата (yuka)
столбец с ниспадающими списками

Смеркалось...[/offtop]

Автор - KuklP
Дата добавления - 26.12.2012 в 16:42
yuka Дата: Пятница, 08.02.2013, 10:35 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Я подниму эту тему, вдруг кому-что понадобится!
Вобщем намаялась я с этими списками. Вроде пока избавилась от этой ошибки. Суть в том, что у меня
[vba]
Код
'ниспадающий список  
Formula1="Текст1;Текст2;Текст3"
[/vba]
Причина 1:
При переброске из строковой переменной в Formula1, почему-то, все "," превращаются в ";". Т.е. если у меня строковая переменная равна:
[vba]
Код
s="Текст1,Текст2,Текст3"
[/vba]
то при создании ниспадающего списка получается:
[vba]
Код
Formula1="Текст1;Текст2;Текст3"
[/vba]
[Кстати, если вручную прописывать: Проверка данных->Список->Источник->"Текст1;Текст2;Текст3,Текст4". Все отображается хорошо, а через макрос...беда...))]
Причина 2
Весьма странная реакция у Excel на ковычки (""). Т.е. если у Вас в строке присутствует значение:
[vba]
Код
s="Текст"1";Текст"2";Текст"3"
[/vba]
То при создании ниспадающего списка все складывается хорошо, а после сохранения и перезагрузке файла возникает та ошибка, по которой я подняла вопрос.
Была бы возможность я бы описание ошибки отредактировала, но пропишу тут. Ошибка:
Цитата (yuka)
Удаленное свойство: Проверка данных из части /xl/worksheets/sheet1.xml

после нее все ниспадающие списки в файле, уже не отображаются в виде ComboBox, а просто в этих ячейках отсутствуют. Текст, выбранный доселе остается (сохраняется), сам список пропадает.
 
Ответить
СообщениеЯ подниму эту тему, вдруг кому-что понадобится!
Вобщем намаялась я с этими списками. Вроде пока избавилась от этой ошибки. Суть в том, что у меня
[vba]
Код
'ниспадающий список  
Formula1="Текст1;Текст2;Текст3"
[/vba]
Причина 1:
При переброске из строковой переменной в Formula1, почему-то, все "," превращаются в ";". Т.е. если у меня строковая переменная равна:
[vba]
Код
s="Текст1,Текст2,Текст3"
[/vba]
то при создании ниспадающего списка получается:
[vba]
Код
Formula1="Текст1;Текст2;Текст3"
[/vba]
[Кстати, если вручную прописывать: Проверка данных->Список->Источник->"Текст1;Текст2;Текст3,Текст4". Все отображается хорошо, а через макрос...беда...))]
Причина 2
Весьма странная реакция у Excel на ковычки (""). Т.е. если у Вас в строке присутствует значение:
[vba]
Код
s="Текст"1";Текст"2";Текст"3"
[/vba]
То при создании ниспадающего списка все складывается хорошо, а после сохранения и перезагрузке файла возникает та ошибка, по которой я подняла вопрос.
Была бы возможность я бы описание ошибки отредактировала, но пропишу тут. Ошибка:
Цитата (yuka)
Удаленное свойство: Проверка данных из части /xl/worksheets/sheet1.xml

после нее все ниспадающие списки в файле, уже не отображаются в виде ComboBox, а просто в этих ячейках отсутствуют. Текст, выбранный доселе остается (сохраняется), сам список пропадает.

Автор - yuka
Дата добавления - 08.02.2013 в 10:35
RAN Дата: Пятница, 08.02.2013, 12:31 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Цитата (yuka)
почему-то, все "," превращаются в ";"

"," - разделитель в аглицком Excel, ";" - в русском.
VBA любит аглицкий.
На ранней стадии изучения VBA я писал макрос, проверяющий, не изменил ли кто формулу на листе.
Вытаскивал в VBA русскую, смотрел, нет ли изменений, если есть - в ячейку писал правильную аглицкую (в русскую она сама превращалась).
Русская, даже FormulaLocal, глючила.
Вероятно, надо было работать с FormulaR1C1, но это сейчас понятно.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Цитата (yuka)
почему-то, все "," превращаются в ";"

"," - разделитель в аглицком Excel, ";" - в русском.
VBA любит аглицкий.
На ранней стадии изучения VBA я писал макрос, проверяющий, не изменил ли кто формулу на листе.
Вытаскивал в VBA русскую, смотрел, нет ли изменений, если есть - в ячейку писал правильную аглицкую (в русскую она сама превращалась).
Русская, даже FormulaLocal, глючила.
Вероятно, надо было работать с FormulaR1C1, но это сейчас понятно.

Автор - RAN
Дата добавления - 08.02.2013 в 12:31
yuka Дата: Пятница, 08.02.2013, 16:15 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Тяжко... Уже несколько раз сталкивалась с проблемой написания, например артикула ОАС - на русском, и OAC на английском... Видите ли нашим пользователям лень переключиться на английский и написать по-человечески. А вот то, что есть различия в знаках препинания, сталкиваюсь впервые!
Ну... век живи, век учись!
 
Ответить
СообщениеТяжко... Уже несколько раз сталкивалась с проблемой написания, например артикула ОАС - на русском, и OAC на английском... Видите ли нашим пользователям лень переключиться на английский и написать по-человечески. А вот то, что есть различия в знаках препинания, сталкиваюсь впервые!
Ну... век живи, век учись!

Автор - yuka
Дата добавления - 08.02.2013 в 16:15
yuka Дата: Пятница, 29.03.2013, 16:07 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
В продолжении темы, что неправильно в этом коде? Если менять на FormulaR1C1
[vba]
Код
.Add Type:=xlValidateList, FormulaR1C1:=s
[/vba]
Макрос выдает, что сделана синтаксическая ошибка применение
[vba]
Код
FormulaR1C1:=s
[/vba]
нельзя, только
[vba]
Код
Formula1:=s
[/vba]
 
Ответить
СообщениеВ продолжении темы, что неправильно в этом коде? Если менять на FormulaR1C1
[vba]
Код
.Add Type:=xlValidateList, FormulaR1C1:=s
[/vba]
Макрос выдает, что сделана синтаксическая ошибка применение
[vba]
Код
FormulaR1C1:=s
[/vba]
нельзя, только
[vba]
Код
Formula1:=s
[/vba]

Автор - yuka
Дата добавления - 29.03.2013 в 16:07
KuklP Дата: Пятница, 29.03.2013, 18:22 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Мне кажется, Вы вводите нас в заблуждение. Уже при 256 символах выйдет ошибка при открытии. Максимальное к-во символов в строке - 255. Хоть в 2003, хоть в 2010. Вот файл со строкой проверки длиной 256 символов(кстати это Вы должны были выложить пример). В 2003 при открытии ошибки нет, но строка аккуратно обрезана до 255 символов cool
К сообщению приложен файл: 7362309.xlsm (15.9 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 29.03.2013, 18:31
 
Ответить
СообщениеМне кажется, Вы вводите нас в заблуждение. Уже при 256 символах выйдет ошибка при открытии. Максимальное к-во символов в строке - 255. Хоть в 2003, хоть в 2010. Вот файл со строкой проверки длиной 256 символов(кстати это Вы должны были выложить пример). В 2003 при открытии ошибки нет, но строка аккуратно обрезана до 255 символов cool

Автор - KuklP
Дата добавления - 29.03.2013 в 18:22
andrey-ekt Дата: Суббота, 22.06.2013, 13:01 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день! У меня точно такая же ошибка вылазит. Причем, если значение в ячейке A44 заменить на значение ячейки A43, то после сохранения ошибки не возникает. С длинной строк вроде бы все в порядке.
К сообщению приложен файл: _1_with_button_.xlsm (35.9 Kb)
 
Ответить
СообщениеДобрый день! У меня точно такая же ошибка вылазит. Причем, если значение в ячейке A44 заменить на значение ячейки A43, то после сохранения ошибки не возникает. С длинной строк вроде бы все в порядке.

Автор - andrey-ekt
Дата добавления - 22.06.2013 в 13:01
Hugo Дата: Суббота, 22.06.2013, 16:13 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Понял - упёрлись в длину строки в проверке ввода.
Как обойти - не знаю.
Я бы вероятно делал аналогично, но на форме с комбобоксами.
Хотя может будут другие варианты решения.

Хотя в xlsb сохраняется/открывается и работает и с длиной в 347 символов. Интересно, что про это думает Microsoft...


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеПонял - упёрлись в длину строки в проверке ввода.
Как обойти - не знаю.
Я бы вероятно делал аналогично, но на форме с комбобоксами.
Хотя может будут другие варианты решения.

Хотя в xlsb сохраняется/открывается и работает и с длиной в 347 символов. Интересно, что про это думает Microsoft...

Автор - Hugo
Дата добавления - 22.06.2013 в 16:13
KuklP Дата: Суббота, 22.06.2013, 16:14 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Цитата (andrey-ekt)
С длинной строк вроде бы все в порядке.

???


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Цитата (andrey-ekt)
С длинной строк вроде бы все в порядке.

???

Автор - KuklP
Дата добавления - 22.06.2013 в 16:14
Константин Дата: Четверг, 11.07.2013, 11:35 | Сообщение № 11
Группа: Гости
сВсем привет! Та же беда! На листе одна процедура добавляет Проверку Данных / выпадающие списки. Раньше все работало. Списки длиной менее 28 и 49 символов. Когда я добавил новый список - все выпадающие списки слетели. Длина строки нового списка составила 340 символов. Без этого длинного, этой ошибки не возникает...
Как все же вставить проверку данных именно такого размера...
 
Ответить
СообщениесВсем привет! Та же беда! На листе одна процедура добавляет Проверку Данных / выпадающие списки. Раньше все работало. Списки длиной менее 28 и 49 символов. Когда я добавил новый список - все выпадающие списки слетели. Длина строки нового списка составила 340 символов. Без этого длинного, этой ошибки не возникает...
Как все же вставить проверку данных именно такого размера...

Автор - Константин
Дата добавления - 11.07.2013 в 11:35
Константин Дата: Четверг, 11.07.2013, 11:39 | Сообщение № 12
Группа: Гости
Предлагаемое решение:
Списки с длиной строки больше 255 до сохранения работают нормально, их добавлять при открытии книги, и удалять при закрытии. Тода хотя бы остальные списки будут жить, и в тоже время - эти длинные будут в работе.
 
Ответить
СообщениеПредлагаемое решение:
Списки с длиной строки больше 255 до сохранения работают нормально, их добавлять при открытии книги, и удалять при закрытии. Тода хотя бы остальные списки будут жить, и в тоже время - эти длинные будут в работе.

Автор - Константин
Дата добавления - 11.07.2013 в 11:39
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!