Мне нужна любая строка в Sheet1, в которой есть слово «Done» в столбце E, которая будет вырезана и вставлена в следующую пустую строку Sheet2. Моя проблема в том, что я не знаю, как найти следующую пустую строку в Sheet2 и начать вставлять значения в следующую пустую строку.
Это базовая рабочая тетрадь с двумя листами. В Sheet1 есть все задачи сотрудника, а в Sheet2 отображаются только те задачи, которые выполнены. Каждый раз, когда сотрудник завершает задачу и вводит «Готово» в ячейку в столбце E Листа 1, всю эту строку необходимо вырезать и вставить в следующую пустую строку Листа 2. Я создал командную кнопку ActiveX в Sheet1 со следующим кодом. Код находит любую ячейку в Sheet1 с надписью «Done» и вырезает / вставляет ее в Sheet2, но она всегда начинает вставляться с начала Sheet2, и мне нужно, чтобы она начала вставлять со следующей пустой строки Sheet2.
Private Sub CommandButton1_Click()
Dim c As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
' Change worksheet designations as needed
Set Source = ActiveWorkbook.Worksheets("Sheet1")
Set Target = ActiveWorkbook.Worksheets("Sheet2")
j = 1 ' Start copying to row 1 in target sheet
For Each c In Source.Range("E1:E1000") ' Do 1000 rows
If c = "Done" Then
Source.Rows(c.Row).Cut Target.Rows(j)
j = j + 1
End If
Next c
End Sub
Моя проблема в том, что он продолжает перезаписывать все, что уже есть в Sheet2, потому что я не знаю, чем заменить код переменной 'j'. Мне нужно, чтобы найти следующую пустую строку в Sheet2 и начать вставлять оттуда.