Страницы: 1
RSS
Копирование данных строки на другой лист
 
Здравствуйте, как правильно написать макрос, если нужно: на "Лист 1", выделив любую ячейку в столбце А (например А6 или А10), при нажатии комбинации клавиш, вставлялась новая строка вниз, копируя данные строки А6 (как в примере или А9 в А10) дублируясь на "Лист2" строка А6 (или А10, или в любой другой ячейке) перемещалась на одну строку вниз, и в пустую ячейку копировались данные из "Лист1" и соответствующие формулы (как в примере). Помогите, люди добрые! Пытался сделать что-нибудь примерное с помощью макрорекордера, ничего не получилось (только учусь). Заранее спасибо.
 
Полиграф Шариков, дд. в модуль Листа1. Работает при двойном нажатии на любую ячейку 1 столбца ("А:A")
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
Dim cell As Range
Dim sh1 As Worksheet, sh2 As Worksheet
Set sh1 = Worksheets(1)
Set sh2 = Worksheets(2)
    sh1.Rows(Target.Row + 1).Insert
    sh2.Rows(Target.Row + 1).Insert
    Target.Offset(1, 2) = Target.Offset(0, 2)
    Target.Offset(0, 10).Copy Destination:=Target.Offset(1, 10)
    Target.Offset(0, 11).Copy Destination:=Target.Offset(1, 11)
    sh2.Rows(Target.Row).Copy Destination:=sh2.Rows(Target.Row + 1)
    sh2.Cells(Target.Row + 1, 4).ClearContents
    sh2.Cells(Target.Row + 1, 13).ClearContents
    sh2.Cells(Target.Row + 1, 14).ClearContents
End If
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Спасибо Вам огромное! Все работает. А можно чтобы на Лист 2 не вставлялась новая строка, а сдвигалась вниз? Простите, просто я только учусь для меня немного сложно.
 
Полиграф Шариков, не понимаю вопрос что сдвигалось? относительно чего?
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
Mershik
Строка вставляется на Лист1, на Лист2 перемещалась строка на одну вниз, в пустую строку копировались данные из Лист1.
 
Покажите в примере  
Не бойтесь совершенства. Вам его не достичь.
 
Код
 Sheets("Лист2").Select
    Range("A6:N10").Select
    Selection.Cut Destination:=Range("A7:N11")
    Range("A7:N11").Select
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("A5:N5").Select
    Selection.Copy
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("A6").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("D6").Select
    Selection.ClearContents
    Range("M6").Select
    Selection.ClearContents
    Range("N6").Select
    Selection.ClearContents
Изменено: Полиграф Шариков - 12.07.2020 18:26:02
 
Полиграф Шариков, Вы видели, как другие форумчане оформляют код?
 
Полиграф Шариков, и это ваше объяснение?
Не бойтесь совершенства. Вам его не достичь.
 
Код
 Selection.Cut Destination:=Range("A7:N11")

Вот эта строка

Страницы: 1
Наверх