Подобный вопрос для многих других. Для контекста вы хотите использовать этот код для участия учащихся. В идеале пользователь прокручивает список и помещает 1 для каждого отсутствующего ученика. Затем заполняется отсутствующий список.Если ячейка содержит определенное значение, скопируйте определенные данные в следующую доступную строку
Мой код довольно рудиментарный, но очень близко к тому, что я хочу, чтобы он делал. Однако, если более 1 строки имеют в нем «1», тогда он будет вытаскивать все данные из всех строк с 1 в нем. Я только хочу, чтобы он вытащил строку, в которую вводится 1. Я чувствую, что я - линия кода, от этого. Диапазоны E: J в моем активном листе - это те данные, которые мне нужны, плюс сегодняшняя дата.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then
For i = 1 To 9999
If Range("A" & i).Value = 1 Then
Sheets("Absent List").Range("A" & Rows.Count).End(xlUp).Offset(1).Value = Range("E" & i).Value
Sheets("Absent List").Range("B" & Rows.Count).End(xlUp).Offset(1).Value = Range("F" & i).Value
Sheets("Absent List").Range("C" & Rows.Count).End(xlUp).Offset(1).Value = Range("G" & i).Value
Sheets("Absent List").Range("D" & Rows.Count).End(xlUp).Offset(1).Value = Range("H" & i).Value
Sheets("Absent List").Range("E" & Rows.Count).End(xlUp).Offset(1).Value = Range("I" & i).Value
Sheets("Absent List").Range("F" & Rows.Count).End(xlUp).Offset(1).Value = Range("J" & i).Value
Sheets("Absent List").Range("G" & Rows.Count).End(xlUp).Offset(1).Value = Date
End If
Next i
End If
End Sub
Спасибо,