Всем привет. Я честно пытался разобраться в VBA, но времени уже в притык, а я так особо и не продвинулся. Помогите пожалуйста сделать следующую задачу. Есть таблица в ней несколько столбцов (Название обьекта, названия приборов и т д). Количество строк таблицы будет меняться. Нужно сделать кнопочку, при нажатии на которую. Данные выделенной (активной) строки записываются в ячейки другого листа. Нажали кнопочку и ячейки данной строки скопировались в ячейки другого листа. Форма и размер листа в который будут копироваться данные будет неизменна, то есть адрес ячеек не будет меняться.
Всем привет. Я честно пытался разобраться в VBA, но времени уже в притык, а я так особо и не продвинулся. Помогите пожалуйста сделать следующую задачу. Есть таблица в ней несколько столбцов (Название обьекта, названия приборов и т д). Количество строк таблицы будет меняться. Нужно сделать кнопочку, при нажатии на которую. Данные выделенной (активной) строки записываются в ячейки другого листа. Нажали кнопочку и ячейки данной строки скопировались в ячейки другого листа. Форма и размер листа в который будут копироваться данные будет неизменна, то есть адрес ячеек не будет меняться.ventru72
Sub MeCopy() Dim R As Range: Set R = ActiveCell.EntireRow 'переменной присваивается строка с активной ячейкой Dim sh As Worksheet: Set sh = ThisWorkbook.Worksheets("Лист2") 'лист куда будем копировать Dim iRow&: iRow = 34 'номер строки с которой начинаем вставку Do While sh.Cells(iRow, 2) <> "" 'если она заполнена, ищем следующую пустую iRow = iRow + 1 Loop Application.Union(R.Cells(3), R.Cells(4), R.Cells(7), R.Cells(8)).Copy sh.Cells(iRow, 2) End Sub
[/vba]
ventru72, [vba]
Код
Sub MeCopy() Dim R As Range: Set R = ActiveCell.EntireRow 'переменной присваивается строка с активной ячейкой Dim sh As Worksheet: Set sh = ThisWorkbook.Worksheets("Лист2") 'лист куда будем копировать Dim iRow&: iRow = 34 'номер строки с которой начинаем вставку Do While sh.Cells(iRow, 2) <> "" 'если она заполнена, ищем следующую пустую iRow = iRow + 1 Loop Application.Union(R.Cells(3), R.Cells(4), R.Cells(7), R.Cells(8)).Copy sh.Cells(iRow, 2) End Sub