Страницы: 1
RSS
Смещение вниз данных из колонки, Макрос?
 
Здравствуйте! Хотел бы реализовать такую вещь: нужно, чтобы после ввода данных в ячейку, все данные в колонке(включая введенную) смещались вниз на одну строку. При чем нужно, чтобы смещались данные именно в нескольких колонках(либо в одной).
 
Попробуйте записать смещение диапазона вниз на одну строку и использовать получившийся код в процедуре Worksheet_Change
 
Юрий М, плохо понимаю о чем речь, извините. Плохо владею Excel, поэтому не много чего понимаю. Можете поподробнее рассказать?
 
Что такое макрорекордер и как им записать свои действия с листом, знаете?
 
Про макросы, в том числе и про запись их макрорекордером, можно найти в разделе "Приемы". Нужная Вам статься находится здесь
 
Юрий М, спасибо, как записывать макросы уже разбираюсь. Статью посмотрю.
Изменено: Giveawayer - 02.04.2015 16:27:41
 
Немного переделал предыдущий макрос
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Target
    If .Count = 1 And .Row = 1 And .Column = 1 Then .Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
Application.EnableEvents = True
End Sub



 
МВТ, спасибо большущее! А как, например, для трех строк можно сделать? :)
 
Простите, 3-х строк или 3-х колонок? Если надо опустить на 1 строку вниз ячейки из 3-х колонок (А1:С1), то вот макрос
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Target
    If .Count = 1 And .Row = 1 And .Column = 1 Then Range("A1:C1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
Application.EnableEvents = True
End Sub

А если одну ячейку, но на 3 строки вниз, то просто повторите команду Insert... со всеми дополнениями 3 раза подряд (только тогда владельцем Insert'а будет опять таки Target, ф не Range()
 
Ошибся, но вы меня правильно поняли. Макрос тот, что нужно. Спасибо вам огромное!
 
МВТ, возможно ли, чтобы в пустых ячейках, после сдвига вниз, создавалась функция?
Страницы: 1
Наверх