Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 20:42   #11
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Не понял
О цитате - у Вас b от одного до четырёх. Зачем эти проверки, если больше четырёх оно не будет никогда? Вероятно проверять собирались значения ячеек листа, но какие - непонятно.
Про массив и лист - берёте быстро данные в массив, быстро их перебираете, а медленно на лист стирать значения лезете только тогда, когда нужно исправить на листе.
Ещё быстрее быстро исправить в массиве и быстро исправленный массив выгрузить назад на лист.
Но так перепишутся все значения, формулы заменятся на значения, а это нужно смотреть по задаче, можно ли так поступать.

Пример кода есть выше, вот основное:
Берём:
x = [b9:b258].Value

Перебор:
For i = 1 To UBound(x)
If x(i, 1) = "" Then Rows(i + 8).RowHeight = 0
Next

Выгружаем (этого там небыло, но несложно догадаться):
[b9:b258].Value = x
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.05.2011, 22:50   #12
SergeiK
 
Регистрация: 27.04.2011
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Не понял
О цитате - у Вас b от одного до четырёх. Зачем эти проверки, если больше четырёх оно не будет никогда? Вероятно проверять собирались значения ячеек листа, но какие - непонятно.
Про массив и лист - берёте быстро данные в массив, быстро их перебираете, а медленно на лист стирать значения лезете только тогда, когда нужно исправить на листе.
Ещё быстрее быстро исправить в массиве и быстро исправленный массив выгрузить назад на лист.
Но так перепишутся все значения, формулы заменятся на значения, а это нужно смотреть по задаче, можно ли так поступать.

Пример кода есть выше, вот основное:
Берём:
x = [b9:b258].Value

Перебор:
For i = 1 To UBound(x)
If x(i, 1) = "" Then Rows(i + 8).RowHeight = 0
Next

Выгружаем (этого там небыло, но несложно догадаться):
[b9:b258].Value = x
этот последний код находится на другом листе и предназначен именно для того, чтобы преобразовывать данные в число , вставляемые из другого файла excel, если не преобразовать в число, файл работает неверно.
SergeiK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание разных принтеров для печати одного документа Bagema Microsoft Office Word 2 08.12.2016 13:18
Проблемы с полями при печати документа. alina2012 Microsoft Office Word 1 21.03.2011 22:59
как создать событие при печати документа funthing Microsoft Office Excel 2 07.08.2009 11:28
Сохранение документа при печати vovk Microsoft Office Word 2 12.09.2008 10:12
Макрос сохранения после печати lala_white Microsoft Office Word 2 10.08.2008 12:50