2015-08-12 2 views
3

Я создал шаблон управления проектом, где я регулярно обновляю статус проекта.Если значение ячейки изменяется, скопируйте значение на другой рабочий лист

Я хочу, чтобы как только значение ячейки одной ячейки изменилось, точное значение будет скопировано в ячейку на другом листе.

Если значение ячейки исходной ячейки снова изменено (из-за дополнительных обновлений проекта), я хочу, чтобы значение было скопировано снова, но ниже предыдущей копии и т. Д.

Как я хотел бы решить проблему самостоятельно, я был бы рад, если бы вы могли дать мне несколько советов о том, как действовать или где искать.

ответ

2

Вы можете использовать событие Worksheet_Change(). Например, если ячейка, которую вы меняете, равна A1, проверьте, соответствует ли ячейка Target. Если это так, определите последнюю использованную строку в листе адресата (Sheet2, ниже), а затем присвойте значение.

Private Sub Worksheet_Change(ByVal Target As Range) 

    If Target.Address = Range("A1").Address Then 

     ' Get the last row on our destination sheet (using Sheet2, col A here)... 
     Dim intLastRow As Long 
     intLastRow = Sheet2.Cells(Sheet2.Rows.Count, "A").End(xlUp).Row 

     ' Add our value to the next row... 
     Sheet2.Cells(intLastRow + 1, "A") = Target.Value 

    End If 

End Sub 
+0

спасибо, я попробовал код выше, но получить "объект требуется" ошибка в строке intLastRow = Sheet2.Cells (Sheet2.Rows.Count, "A"). End (xlUp) .Row –

+0

ли вам есть Лист2? – Bond

+0

извините за мою ошибку. Мне просто пришлось изменить декларацию «sheet2» на немецкую декларацию, использующую мою версию excel, которая является «Tabelle2» .. теперь она отлично работает .. Большое спасибо –

Смежные вопросы