Есть лист ексель с данными, один столбец пустой, как только в какую-нибудь ячейку этого столбца внесут данные, строка с этой ячейкой должна скопироваться в первую пустую строку другого листа, при помощи макроса все получается,но макрос надо каждый раз запускать, как сделать это в Private Sub Worksheet_Change(ByVal Target As Range), т.е. автоматом при внесении изменений.
Макрос имеет след вид:
Public Sub gotovie()
Dim i As Integer
Sheets("Выполняемые").Select
Application.ScreenUpdating = False
For i = 6 To 10000
If Sheets("Выполняемые").Cells(i, 7).Value <> "" Then
Sheets("Выполненные").Select
If Cells(i, 1).Value = "" Then
' Sheets("Выполненные").Cells(i, 1).Value = Sheets("Выполняемые").Cells(i, 1).Value
Sheets("Выполненные").Cells(i, 2).Value = Sheets("Выполняемые").Cells(i, 2).Value
Sheets("Выполненные").Cells(i, 3).Value = Sheets("Выполняемые").Cells(i, 3).Value
Sheets("Выполненные").Cells(i, 4).Value = Sheets("Выполняемые").Cells(i, 4).Value
Sheets("Выполненные").Cells(i, 5).Value = Sheets("Выполняемые").Cells(i, 5).Value
Sheets("Выполненные").Cells(i, 6).Value = Sheets("Выполняемые").Cells(i, 7).Value
Sheets("Выполненные").Cells(i, 7).Value = Sheets("Выполняемые").Cells(i, 9).Value
End If
End If
Next
End Sub
Когда этот код вставляешь в Private Sub Worksheet_Change, работает совсем не правильно, подскажите пожалуйста как сделать