Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Заполнение пустой ячейки значением из предыдущей не пустой - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение пустой ячейки значением из предыдущей не пустой (Макросы/Sub)
Заполнение пустой ячейки значением из предыдущей не пустой
SkaWolf Дата: Вторник, 02.08.2016, 16:48 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день, форумчане!

Столкнулся с необходимостью заполнения пустых ячеек по столбцам значениями из предыдущих непустых ячеек.
После выгрузки данных из базы и подготовки сводной таблицы остаются незаполненные ячейки.
Для дальнейшей подготовки отчета требуется заполнить данные пустые ячейки.
К сожалению коллеги подсказать ничего не смогли, а обработка таблицы из 1000-1500 строк в ручную съедает слишком много времени.

Алгоритм, я так понимаю, следующий:
1. Указывается диапазон ячеек (выделяется таблица)
2. Макрос проходит по столбцам в указанном диапазоне и ищет пустые ячейки.
3. Присваивает пустым ячейкам значение предыдущей не пустой

До этого сталкивался с самыми простыми макросами...а тут уже третий день не могу разобраться с кодом и условием.

Просьба помочь разобраться!
К сообщению приложен файл: 7275464.xls(28Kb)
 
Ответить
СообщениеДобрый день, форумчане!

Столкнулся с необходимостью заполнения пустых ячеек по столбцам значениями из предыдущих непустых ячеек.
После выгрузки данных из базы и подготовки сводной таблицы остаются незаполненные ячейки.
Для дальнейшей подготовки отчета требуется заполнить данные пустые ячейки.
К сожалению коллеги подсказать ничего не смогли, а обработка таблицы из 1000-1500 строк в ручную съедает слишком много времени.

Алгоритм, я так понимаю, следующий:
1. Указывается диапазон ячеек (выделяется таблица)
2. Макрос проходит по столбцам в указанном диапазоне и ищет пустые ячейки.
3. Присваивает пустым ячейкам значение предыдущей не пустой

До этого сталкивался с самыми простыми макросами...а тут уже третий день не могу разобраться с кодом и условием.

Просьба помочь разобраться!

Автор - SkaWolf
Дата добавления - 02.08.2016 в 16:48
krosav4ig Дата: Вторник, 02.08.2016, 17:04 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1357
Репутация: 548 ±
Замечаний: 0% ±

Excel 2007, 2013
как-то так [vba]
Код
Sub FillEmtyCells()
    With ActiveSheet.UsedRange
        .SpecialCells(4).FormulaR1C1 = "=R[-1]C"
        .Formula = .Value
    End With
End Sub
[/vba]


(_)Õvõ(_)
 
Ответить
Сообщениекак-то так [vba]
Код
Sub FillEmtyCells()
    With ActiveSheet.UsedRange
        .SpecialCells(4).FormulaR1C1 = "=R[-1]C"
        .Formula = .Value
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 02.08.2016 в 17:04
Manyasha Дата: Вторник, 02.08.2016, 17:05 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 1589
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
SkaWolf, здравствуйте, попробуйте следующие варианты:
1 способ. Выделяете нужный диапазон - ctrl+G (или вкладка Главная-Найти и выделить - выделение группы ячеек) - Выделить - пустые ячейки - Ок. Нажимаете на клавиатуре знак "=" - выделяете мышкой ячейку над активной (активная - там, где стоит "=") - нажимаете ctrl+enter. Не забудьте потом преобразовать в значения.

этот же вариант макросом:
[vba]
Код
Sub test()
    With ActiveSheet.UsedRange 'Selection - если нужен выделенный диапазон, а не весь лист
        .Cells.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
        .Value = .Value
    End With
End Sub
[/vba]
krosav4ig уже опередил :)

2 способ. В самой сводной таблице выбрать вкладку Конструктор - Макет отчета - Повторять все подписи элементов.


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804


Сообщение отредактировал Manyasha - Вторник, 02.08.2016, 17:08
 
Ответить
СообщениеSkaWolf, здравствуйте, попробуйте следующие варианты:
1 способ. Выделяете нужный диапазон - ctrl+G (или вкладка Главная-Найти и выделить - выделение группы ячеек) - Выделить - пустые ячейки - Ок. Нажимаете на клавиатуре знак "=" - выделяете мышкой ячейку над активной (активная - там, где стоит "=") - нажимаете ctrl+enter. Не забудьте потом преобразовать в значения.

этот же вариант макросом:
[vba]
Код
Sub test()
    With ActiveSheet.UsedRange 'Selection - если нужен выделенный диапазон, а не весь лист
        .Cells.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
        .Value = .Value
    End With
End Sub
[/vba]
krosav4ig уже опередил :)

2 способ. В самой сводной таблице выбрать вкладку Конструктор - Макет отчета - Повторять все подписи элементов.

Автор - Manyasha
Дата добавления - 02.08.2016 в 17:05
SLAVICK Дата: Вторник, 02.08.2016, 23:22 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 1844
Репутация: 614 ±
Замечаний: 0% ±

2007,2010,2013,2016
...- выделяете мышкой ячейку над активной ...

вот этот пункт лучше заменить на "Стрелку вверх" - оно так и быстрее и шансов промазать меньше :D .
и вообще можно без мыши обойтись после выделения - так оно впечатлительнее выглядит B) :
комбинация для рус. раскладки:
если нужно выделить таблицу до конца Ctrl Shift End (одновременно)
дальше то что предложила Марина но без мыши:
F5(или ctrl+G)
Alt В Й
Enter
=
стрелка вверх
ctrl+enter
:D

А еще Николай давно сделал замечательную шпору - я из нее кое-чем пользуюсь, особенно когда не на своем компе приходится поработать. Экономит много времени


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
...- выделяете мышкой ячейку над активной ...

вот этот пункт лучше заменить на "Стрелку вверх" - оно так и быстрее и шансов промазать меньше :D .
и вообще можно без мыши обойтись после выделения - так оно впечатлительнее выглядит B) :
комбинация для рус. раскладки:
если нужно выделить таблицу до конца Ctrl Shift End (одновременно)
дальше то что предложила Марина но без мыши:
F5(или ctrl+G)
Alt В Й
Enter
=
стрелка вверх
ctrl+enter
:D

А еще Николай давно сделал замечательную шпору - я из нее кое-чем пользуюсь, особенно когда не на своем компе приходится поработать. Экономит много времени

Автор - SLAVICK
Дата добавления - 02.08.2016 в 23:22
SkaWolf Дата: Среда, 03.08.2016, 08:49 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
krosav4ig, спасибо за макрос!

Manyasha, спасибо за простые решения...век живи, век учись :)))

SLAVICK, спасибо за замечательную шпору...уже распечатал и положил в доступное место :)

Что можете достойного порекомендовать по VBA для самостоятельного изучения?
Так как со сменой функционала - это будет теперь мой постоянный головняк.
 
Ответить
Сообщениеkrosav4ig, спасибо за макрос!

Manyasha, спасибо за простые решения...век живи, век учись :)))

SLAVICK, спасибо за замечательную шпору...уже распечатал и положил в доступное место :)

Что можете достойного порекомендовать по VBA для самостоятельного изучения?
Так как со сменой функционала - это будет теперь мой постоянный головняк.

Автор - SkaWolf
Дата добавления - 03.08.2016 в 08:49
SLAVICK Дата: Среда, 03.08.2016, 09:49 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 1844
Репутация: 614 ±
Замечаний: 0% ±

2007,2010,2013,2016
[offtop]
Что можете достойного порекомендовать по VBA для самостоятельного изучения?

форум
+ на форуме есть спец. тема неформальное общение где можно задавать такого плана вопросы в этой теме продолжать не нужно - не касается названия темы.
+ на форуме уже есть раздел библиотека [/offtop]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение[offtop]
Что можете достойного порекомендовать по VBA для самостоятельного изучения?

форум
+ на форуме есть спец. тема неформальное общение где можно задавать такого плана вопросы в этой теме продолжать не нужно - не касается названия темы.
+ на форуме уже есть раздел библиотека [/offtop]

Автор - SLAVICK
Дата добавления - 03.08.2016 в 09:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение пустой ячейки значением из предыдущей не пустой (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!