Добрый день. Макрос копирует значение ячеек без формул, и вставляет на другой лист в ячейку B2 [vba]
Код
Sub Go() If MsgBox("Оформить?", _ vbYesNo) = vbYes Then Application.ScreenUpdating = False Range("A1:E60").Copy With Sheets("Лист2").Range("B2") .PasteSpecial Paste:=xlPasteValues .PasteSpecial Paste:=xlPasteFormats .PasteSpecial Paste:=xlPasteColumnWidths End With With Application .ScreenUpdating = True: .CutCopyMode = False End With End Sub
[/vba] подскажите как сделать, чтобы данные добавлялись ниже, а не заменяли предыдущие.
Добрый день. Макрос копирует значение ячеек без формул, и вставляет на другой лист в ячейку B2 [vba]
Код
Sub Go() If MsgBox("Оформить?", _ vbYesNo) = vbYes Then Application.ScreenUpdating = False Range("A1:E60").Copy With Sheets("Лист2").Range("B2") .PasteSpecial Paste:=xlPasteValues .PasteSpecial Paste:=xlPasteFormats .PasteSpecial Paste:=xlPasteColumnWidths End With With Application .ScreenUpdating = True: .CutCopyMode = False End With End Sub
[/vba] подскажите как сделать, чтобы данные добавлялись ниже, а не заменяли предыдущие.mortalwindos
Sub Go_() If MsgBox("Оформить?", vbYesNo) <> vbYes Then Exit Sub Application.ScreenUpdating = False lrSh1 = Cells(Rows.Count, 1).End(xlUp).Row lrSh2 = Sheets("Лист2").Cells(Rows.Count, 2).End(xlUp).Row+1 Range("A1:E" & lrSh1).Copy With Sheets("Лист2").Range("B" & lrSh2) .PasteSpecial Paste:=xlPasteValues .PasteSpecial Paste:=xlPasteFormats .PasteSpecial Paste:=xlPasteColumnWidths End With With Application .ScreenUpdating = True: .CutCopyMode = False End With End Sub
[/vba]
mortalwindos, здравствуйте, так можно: [vba]
Код
Sub Go_() If MsgBox("Оформить?", vbYesNo) <> vbYes Then Exit Sub Application.ScreenUpdating = False lrSh1 = Cells(Rows.Count, 1).End(xlUp).Row lrSh2 = Sheets("Лист2").Cells(Rows.Count, 2).End(xlUp).Row+1 Range("A1:E" & lrSh1).Copy With Sheets("Лист2").Range("B" & lrSh2) .PasteSpecial Paste:=xlPasteValues .PasteSpecial Paste:=xlPasteFormats .PasteSpecial Paste:=xlPasteColumnWidths End With With Application .ScreenUpdating = True: .CutCopyMode = False End With End Sub
каждый раз сохранять данные (8-10 констант) получаемые при расчете, переносить их на второй лист, каждый раз в новую строку.
[vba]
Код
Sub MySave() 'Вот так вставляем новую строку "Rows("2:2")", в "Sheets("В работе")" Sheets("В работе").Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 'Новая запись всегда вставляется во вторую строку листа "В работе" 'Старые строки при этом просто сдвигаются вниз.
'вот так из листа "просчёт" переносим значения на лист "в работе" Sheets("В работе").Cells(2, 1).Value = Sheets("просчет").Cells(1, 1).Value Sheets("В работе").Cells(2, 17).Value = Sheets("просчет").Cells(3, 1).Value '___следующие значения сюда_________________ 'остальные значения просто по аналогии делаем (адресация: Cells(номер cтроки, номер колонки)) 'Сохраняем книгу после внесенных изменений. ActiveWorkbook.Save End Sub
каждый раз сохранять данные (8-10 констант) получаемые при расчете, переносить их на второй лист, каждый раз в новую строку.
[vba]
Код
Sub MySave() 'Вот так вставляем новую строку "Rows("2:2")", в "Sheets("В работе")" Sheets("В работе").Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 'Новая запись всегда вставляется во вторую строку листа "В работе" 'Старые строки при этом просто сдвигаются вниз.
'вот так из листа "просчёт" переносим значения на лист "в работе" Sheets("В работе").Cells(2, 1).Value = Sheets("просчет").Cells(1, 1).Value Sheets("В работе").Cells(2, 17).Value = Sheets("просчет").Cells(3, 1).Value '___следующие значения сюда_________________ 'остальные значения просто по аналогии делаем (адресация: Cells(номер cтроки, номер колонки)) 'Сохраняем книгу после внесенных изменений. ActiveWorkbook.Save End Sub