|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть защищенный лист. Данных очень много. Надо получить область со всеми непустыми ячейками. Значения ячеек доступны макросу, но функция SpecialCells вылетает с ошибкой (из-за защиты). Как быть? Снять защиту не предлагать :) Интересно даже, почему SpecialCells не работает? Ведь обычным циклом я могу собрать эти ячейки. Но конечно хочется побыстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2017, 15:57 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождя, Код: vbnet 1.
пробовал? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2017, 16:11 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
CurskyСын вождя, Код: vbnet 1.
пробовал? Попробуй мне быстро найти непустые ячейки здесь: Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2017, 16:37 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождя, Не знаю на сколько быстро/ресурсозатратно, но что если весь лист в массив и уже проверять массив...ну или сначало UsedRange, а потом массив...как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2017, 18:28 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
iMrTidyНе знаю на сколько быстро/ресурсозатратно, но что если весь лист в массив и уже проверять массив... Да, руками можно что-то сделать. Но функции Excel работают очень быстро. Вот и хочу найти подходящие. Та же сортировка массива, в несколько раз быстрее через лист Excel, чем тасованием массива макросом. CountA и CountBlank выполняются мгновенно, независимо от объема данных. Значит проблема в SpecialCells. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2017, 20:03 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождя, A1 = 1, A1048576 = 2 Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Работает очень быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2017, 23:57 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
iMrTidy...Работает очень быстро. Быстро, но не работает :) При копировании области в массив, Excel имеет ограничение в 65536 ячеек. В последней версии Excel, ячеек 16 777 216. Нужны не только значения, а еще и область с ячейками. Нужна альтернатива, сравнимая по скорости с SpecialCells(xlCellTypeConstants). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2017, 07:45 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождя, Когда речь заходит о работе софта на пределе его возможностей, невольно приходит в голову мысль, а правильно ли выбран инструмент... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2017, 11:36 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
iMrTidy...а правильно ли выбран инструмент... Инструмент устраивает. Не вижу подходящего инструмента этого инструмента :) Тестирую на словаре в 200 000 слов. Ничего особенного. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2017, 12:09 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождяiMrTidy...а правильно ли выбран инструмент... Инструмент устраивает. Не вижу подходящего инструмента этого инструмента :) Тестирую на словаре в 200 000 слов. Ничего особенного. SQL? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2017, 12:32 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождяЕсть защищенный лист... функция SpecialCells вылетает с ошибкой (из-за защиты). Как быть? Снять защиту не предлагать Достаточно (пере)защитить с UserInterfaceOnly:=True Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2017, 01:14 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Тэги и в предыдущем сообщении лишние: Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2017, 01:16 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
ZVI...(пере)защитить... Это снятие защиты, а там может быть пароль. Пишется макрос для общего пользования. Для работы, макросу требуются значения ячеек и их область. Все это макросу доступно при любой защите (поправьте, если есть защита, когда макросом ничего не считать). Но некоторые функции Excel, которые ничего не меняют на листе, почему-то не работают :( Может кто-то составлял список, что работает в защите, а что нет? Логики я не вижу. Проверить можно только опытным путем :( ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2017, 14:24 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождя, Учитывая, что любая защита снимается в течение секунды, можно делать временную копию исходника, снимать на нем все защиты, делать все что нужно, а затем уничтожать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2017, 18:14 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождяЭто снятие защиты, а там может быть пароль. Пишется макрос для общего пользования. В предложенном варианте нет снятия защиты ни на мгновение: .Protect UserInterfaceOnly:=True ', Password:="123" Предполагается, что лист уже был защищен, а этот код повторной защиты открывает полный доступ лищь для VBA, но не для ручных действий пользователя. Понятно, что если лист защищен паролем, а пароль коду неизвестен, то предложенный вариант не "прокатит", что вообще-то и правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 00:43 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
[quot ZVI]Сын вождя...В предложенном варианте нет снятия защиты ни на мгновение... Ага, а книгу почему-то предлагает сохранить, как измененную :) Народ, речь не о снятии защиты вообще. Нужен алгоритм быстрой обработки листа под защитой. Без извращений. Стандартными средствами. Как я понял, таких в Excel нет. Остается оптимизировать костыли. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 11:34 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
[quot Сын вождя]ZVIпропущено... Ага, а книгу почему-то предлагает сохранить, как измененную :) Народ, речь не о снятии защиты вообще. Нужен алгоритм быстрой обработки листа под защитой. Без извращений. Стандартными средствами. Как я понял, таких в Excel нет. Остается оптимизировать костыли. Сохранить предлагает, потому что раньше защита распространялась еще и на доступ к ячейкам через VBA, а теперь только через интерфейс. После того, как данные обработаны, поменяйте флаг на исходный. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 13:04 |
|
Альтернатива SpecialCells для защищенного листа
|
|||
---|---|---|---|
#18+
Сын вождяАга, а книгу почему-то предлагает сохранить, как измененную :) Это не причем. Много чего меняет свойство Saved книги. Например, любая формула динамического диапазона типа = A1: ИНДЕКС(A:A;СЧЁТЗ(A:A)) пересчитывается при загрузке книги и Excel спросит о сохранении книги с такой формулой. И это никак не связано с защитой. Если смущает, то ActiveWorkbook.Saved = True Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 01:29 |
|
|
start [/forum/topic.php?fid=61&fpage=23&tid=2172583]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 302ms |
total: | 427ms |
0 / 0 |