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