![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#31 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Я попробовал макрос из поста №14, предварительно вставив число на лист. При отработке макроса оно все же затирается.
Насчет смены формата файла я думал, но пока до этого не дошли руки Последний раз редактировалось motorway; 26.04.2010 в 18:40. |
![]() |
![]() |
![]() |
#32 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Код:
Код:
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
![]() |
#33 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
SAS888, а не подскажете, что добавить к коду, чтобы не обновлялись значения из 1 строки (если они находятся в ячейках 1 строки)? Не сильно ли это затормозит код? В принципе, такую проверку я могу сделать на PHP на сервере, когда отсылаются данные в Эксел. Но, может быть, здесь быстрее будет.
И еще обнаружилась неприятная вещь - в случае присутствия на листе т.н. объединенных ячеек не работает очистка диапазона методом Range.ClearContents, которую я выполняю перед вставкой данных. Что с этим можно сделать, чтобы быстро очищалось, если есть такие ячейки на листе? ![]() Последний раз редактировалось motorway; 07.05.2010 в 02:44. |
![]() |
![]() |
![]() |
#34 | ||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Код:
Цитата:
Код:
Код:
Опишите эту проблему более подробно (лучше с примером). Может быть проблема возникает не при очистке диапазона, а при вставке данных в диапазон, содержащий объединенные ячейки?
Чем шире угол зрения, тем он тупее.
|
||
![]() |
![]() |
![]() |
#35 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Да, насчет 1 строки так, спасибо.
Насчет очистки - в общем, в некоторых функциях она нужна и присутствует и выполняется так, к примеру: Код:
Возможно, и в каких-то других функциях об. ячейки могут доставить проблемы. Например, у меня был двойной цикл по ячейкам (i,j). А если такой ячейки уже нет из-за объединения, могут возникнуть проблемы тоже. |
![]() |
![]() |
![]() |
#36 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
И еще можно как-то сделать, чтобы данные вставлялись из файла по умолчанию в Общем формате и, может быть, если есть на конце %, то в процентном? А то я попробовал вставку из файла - там куда-то запятые "дюются" и формат становится числовым для некоторых чисел
Последний раз редактировалось motorway; 08.05.2010 в 01:59. |
![]() |
![]() |
![]() |
#37 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Еще вопрос: можно ли как-то установить у всех ячеек, присутствующих в строке, цвет, но так, чтобы это не сильно влияло на скорость? Раньше я это делал для каждой ячейки, что могло отнимать время. Здесь же мы сразу массив вставляем. Можно ли у этих ячеек изменить цвет, допустим, на синий?
|
![]() |
![]() |
![]() |
#38 | ||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Ошибка при очистке объединенных ячеек в Вашем случае будет возникать только в том случае, если в объединении участвуют ячейки либо 1-й строки, либо 1-го столбца. Т.к. ошибка возникает, то это именно так.
Предлагаю макрос, который очистит все ячейки кроме 1-го столбца и 1-й строки. Макрос будет корректно работать, если в каждом листе книги есть хотя бы по 1 значению в 1-й строке и 1-м столбце не считая ячейки "A1". И еще. Не совсем понял, какие значения возвращают Ваши функции Row_Get(Sh) и Col_Get(Sh). Можно ли удалять данные из ячеек за пределами возвращаемых функциями значений? Так или иначе, попробуйте следующий код: Код:
Цитата:
Цитата:
Чем шире угол зрения, тем он тупее.
|
||
![]() |
![]() |
![]() |
#39 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Row_Get(Sh) и Col_Get(Sh) возвращают последнюю заполненную строку и столбец на листе, так что там должно всё удаляться.
Насчет форматов пока что небольшая пауза, если понадобится, напишу еще. Смысл в том, чтобы при присвоении ячейке значения оно было в том виде, которое передается, а не менялось. Иногда в принципе может потребоваться и другой вариант. С цветом - хуже, потом тоже попробую. Ваш код выдает ошибки, может, я что-то не то делаю? Object variable or with block variable not set. Либо Type mismatch. В общем, пока что я с объединенными ячейками справился, просто убрав их. Пока что проблема не так актуальна Последний раз редактировалось motorway; 11.05.2010 в 21:52. |
![]() |
![]() |
![]() |
#40 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Вот попробовал изменить цвет у 20000 ячеек:
Код:
![]() |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) | Yaro | Помощь студентам | 2 | 12.11.2009 12:55 |
Как ускорить попиксельную обработку изображения | Дамир | Общие вопросы .NET | 1 | 02.11.2009 12:40 |
Сравнение текста InStr() | SoFuWa | Microsoft Office Excel | 7 | 22.07.2009 14:38 |
Сравнение Instr(), Строчине и прописные буквы | SoFuWa | Microsoft Office Excel | 2 | 30.05.2009 16:20 |