Страницы: 1
RSS
Макрос копирования строки в лист, макрос копирования
 
Всем привет. Помогите правильно написать макрос. Нужно в лист "ввод" при нажатии определенной комбинации клавиш, в любой ячейки вставлялась новая строка, а также эта позиция (строка) дублировалась в листе "результат" (создать строку с вставкой значений из ячеек A, B)  с копированием соответствующих формул из ячеек С, D, E, F, G. Еще, чтобы можно было между любыми строками вставлять новую строку в листе "ввод" и она дублировалась на том же месте в листе "результат". Заранее спасибо.  
Изменено: YOrek - 07.07.2020 18:43:07
 
Включите макрорекордер и запишите вставку строки, предварительно выделив оба листа (клик по ярлыку листов при нажатой Shift). Отключите макрорекордер, посмотрите и разберитесь с тем, что он записал. Удачи.

PS
Если Вам нужен готовый макрос, то Вам в ветку "Работа".
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Вот макрорекордером, написал, не совсем получилось
Код
Sub Макрос1()

    Range("A3:H3").Select
    Selection.Copy
    Application.CutCopyMode = False
    Selection.EntireRow.Insert
    Range("A4:H4").Select
    Selection.Copy
    Range("A3").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Sheets("результат").Select
    Range("A3:H3,A3,B3,C3,D3,E3,F3,G3").Select
    Range("G3").Activate
End Sub
 
YOrek, дд. если честно не очень понятно что должно происходить...можете подробнее? ну точнее что именно копируется и когда и куда и что должно быть ?
и в файле покажите желаемый результат и исходные данные
Не бойтесь совершенства. Вам его не достичь.
 
Должно быть:
1. лист ввод - вставка новой строки с копированием формул (G2 и H2)
2. лист результат - вставка новой строки (зависит от вставки строк в листе "ввод") с копированием формул (С3:G3 лист результат) и копирование данных из строки листа "ввод" (ячейки А3 и B3).
Так до бесконечности (то что должно получиться выделено зеленым)
Изменено: YOrek - 07.07.2020 19:46:05
 
YOrek, макрос запускать по нажатию кнопки ? нужны формулы или результат?  
Не бойтесь совершенства. Вам его не достичь.
 
По комбинации клавиш, важно чтобы когда вставлялась строка на листе ввод, она также вставлялась на листе результат (с копированием данных и формул)
 
YOrek, как понял так сделал (выбираете любое значение  из нужной строки и нажимаете кнопку) или вешаете его на кнопку.
Код
Sub ddd()
Dim MyRow As Long
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim lr As Long, lr2 As Long
Set sh1 = Worksheets("ввод")
Set sh2 = Worksheets("результат")

MyRow = ActiveCell.Row
If MyRow + 1 > 2 Then
sh2.Cells(MyRow + 1, 1) = sh1.Cells(MyRow, 1)
sh2.Cells(MyRow + 1, 2) = sh1.Cells(MyRow, 2)
sh2.Cells(MyRow + 1, 3) = Application.WorksheetFunction.Max(sh1.Range(sh1.Cells(MyRow, 3), sh1.Cells(MyRow, 6)))
sh2.Cells(MyRow + 1, 4) = Application.WorksheetFunction.Min(sh1.Range(sh1.Cells(MyRow, 3), sh1.Cells(MyRow, 6)))
sh2.Cells(MyRow + 1, 5) = Application.WorksheetFunction.Max(sh1.Range(sh1.Cells(MyRow, 3), sh1.Cells(MyRow, 6))) / 2
sh2.Cells(MyRow + 1, 6) = 320 + Application.WorksheetFunction.Max(sh2.Range(sh2.Cells(MyRow + 1, 3), sh2.Cells(MyRow + 1, 5)))
sh2.Cells(MyRow + 1, 7) = sh2.Cells(MyRow + 1, 6) / 3

End If
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Посмотрите пожалуйста Макрос 4 и Макрос 5, их надо объединить.
 
YOrek, не спасибо) воздержусь.
вы не можете нормально объяснить и даже не удосужились сказать что-то по предложенному варианту.
Не бойтесь совершенства. Вам его не достичь.
 
Все отлично работает
Страницы: 1
Наверх