Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
04.06.2009, 11:42
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Все привет! После построения сводной таблицы есть необходимость заполнить пустые ячейки значениями сверху. Для этой задачи написал следующий макрос: Sub ЗаполнениеПустыхЯчеек() ' ' ЗаполнениеПустыхЯчеек Макрос ' Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" Range("A1").CurrentRegion.Value = Range("A1").CurrentRegion.Value ' End Sub Иногда эта зараза во всем диапазоне данных пишет #ССЫЛКА! и на первой строке вместо заголовков столбцов появляется "0". Может кто сталкивался, или просто знает, в чем может быть проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2009, 15:13
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Не мучайся с макросом, используй простой способ . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2009, 17:48
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Ничего себе простой! А если надо заполнить пустые ячейки в 5-ти столбцах!? Макрос делает эту операцию за 5-10 секунд. А когда (в редких случаях) не срабатывает, приходится фильтровать пустые строки в каждом столбце. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2009, 01:34
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Юрий08, Перед запуском макроса, убедись что в первой строке всегда что-то есть. Либо принудительно исключай первую строку из региона. Например так: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.06.2009, 13:27
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
В этом-то и вопрос, что в первой строке всегда находятся какие-нибудь данные (заголовки). Это же бывшая сводная таблица. Попробую исключить первую строчку, может правда получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.06.2009, 14:14
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Юрий08, Может такое поможет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.06.2009, 11:30
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Я начинаю подозревать, что это глюк excel. Попробывал заполнить ячейки в диапазоне более 300 000 сторк и все получилось. Но в некоторых случаях (хз каких) не справляется, хотя необходимо заполнить только 70 000 строк. Гомосятина какая-то:( ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.06.2009, 13:13
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Юрий08, SpecialCells не рекомендуется использовать в диапазонах с более чем 16.384 ячейками, т.к. у этой проперти есть ограничение в 8.192 несмежных области: http://support.microsoft.com/kb/832293 Думаю, что твои беды отсюда. KL [MVP - Microsoft Office Excel] ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2009, 10:48
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
KL (XL), в итоге, как должен выглядеть мой макрос, чтобы он заработал? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2009, 11:51
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
На самом деле можно еще проще с пом. формул сделать (не так, как описано по ссылке на форум ixbt). Допустим Фамилия___Услуга___ Цена Иванов____ Услуга 1__100 р __________Услуга 2__150 р __________Услуга 3__200 р Сидоров____Услуга 7__100 р __________Услуга 5__150 р __________Услуга 8__200 р И "Иванов" находится в B2. Чтобы, например, заполнить столбец G так как надо, в G2 формула =ЕСЛИ(B2="";G1;B2) и растянять вниз насколько нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2009, 12:17
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Юрий08, Может использованием дополнительного столбца и методой предложенной DaniilK ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2009, 02:56
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Юрий08KL (XL), в итоге, как должен выглядеть мой макрос, чтобы он заработал? Если пустые ячейки в одном столбце, то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2009, 06:19
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
KL (XL), Проверил код, но он выдает не верный результат, т.к. начинает работать с первой строки. С твоего позволения подправлю: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2009, 10:00
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Здорово. Будем тестить. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2009, 10:18
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Протестил. Оба макроса заполняют только перый столбец, а у меня их n-ое кол-во. Ладно, что-нибудт придумаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2009, 13:13
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Сергей06Проверил код, но он выдает не верный результат, т.к. начинает работать с первой строки. С твоего позволения подправлю: Сергей06, спасибо, а то код писался на скорую руку и без тестирования Юрий08Протестил. Оба макроса заполняют только перый столбец, а у меня их n-ое кол-во. Ладно, что-нибудт придумаю. Я об этом сразу предупредил. Для того, чтобы обработать энное кол-во нужно добавить 3 строчки кода (цикл в цикле) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.06.2009, 10:23
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Сергей06, добавь, пожалуйста, в свой код 3 строчки кода (цикл в цикле), чтобы он работал с энным кол-вом столбцов. Я не знаю, как это сделать( ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.06.2009, 12:43
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Юрий08, ну вот так, что ли. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.06.2009, 14:13
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Сергей06, спасибо! Работает. Правильно я понял, что он заполняет первые 10 столбцов и чтобы изменить это кол-во надо уменьшить "... To 10:? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.06.2009, 16:43
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Сергей06Юрий08, ну вот так, что ли. Сергей06, ты добавил 2 строчки :-) 3-я предназначалась для динамического определения столбца :D ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.06.2009, 19:13
|
|||
---|---|---|---|
|
|||
заполнение пустых ячеек значением сверху |
|||
#18+
Макрос работает, почти, идеально. Иногда, заполняются пустые строки, где ранее было "Итого" (когда они в дынных). И эти пустые ячейки заполняются последним значением из таблицы. Но после удаления листа и нового построения сводной этот косяк пропадает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.06.2009, 06:24
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
KL (XL), Вот-вот. Про три строки я помнил и поэтому и добавил две переменных, а понадобилась одна. Но не могу сообразить, как одной строкой определить динамический диапазон столбцов в которых находятся поля сводной таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.06.2009, 21:14
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Сергей06KL (XL), Вот-вот. Про три строки я помнил и поэтому и добавил две переменных, а понадобилась одна. Но не могу сообразить, как одной строкой определить динамический диапазон столбцов в которых находятся поля сводной таблицы. Такой вариант (не тестированный): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.06.2009, 13:24
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
KL (XL), протестил. У меня получается что переменная lngLastCol всегда равна единице. Если честно, то пока не разобрался как работает этот скрипт ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.06.2009, 18:57
|
|||
---|---|---|---|
заполнение пустых ячеек значением сверху |
|||
#18+
Сергей06, Если не ошибаюсь, автор работает с динамической таблицей или тем, что от нее осталось. Это наверняка означает, что у столбцов есть заголовки. Судя по использованию проперти CurrentRegion автором в приведенном им примере в начале темы, так оно и есть. Далее все просто: исходя из того, что левый верхний угол таблицы расположен в ячейке [A1], находим последнюю непустую ячейку в столбце [A] и последнюю непустую ячейку в строке [1] :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=61&tablet=1&tid=2173372]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 157ms |
0 / 0 |