Я хочу отфильтровать лист, чтобы отображались только строки с ячейками, помеченными для просмотра функцией отслеживания изменений. Кто-нибудь знает, если / как это возможно?
1 ответ
0
Ниже приведенный код выделит каждое изменение и новую запись в Активном листе и создаст Лист регистрации, содержащий имя листа, адрес ячейки и введенные данные.
Это как лист аудита.
Выделение новых записей работает как « Mark Track Changes
а перемещение данных в файл журнала похоже на « Filter those entries
Вы можете изменить этот код для дальнейших нужд.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet, ws2 As Worksheet
Dim i As Boolean
Application.ScreenUpdating = False
i = False
For Each ws In ThisWorkbook.Worksheets
If ws.Name = "Change Log" Then
i = True
Exit For
End If
Next ws
If Not i Then
Set ws2 = ThisWorkbook.Worksheets.Add
ws2.Name = "Change Log"
ws2.Range("A1") = "Sheet"
ws2.Range("B1") = "Range"
ws2.Range("C1") = "New Data"
Else
Set ws2 = Sheets("Change Log")
End If
ws2.Range("A1").Offset(ws2.UsedRange.Rows.Count, 0) = Target.Worksheet.Name
ws2.Range("B1").Offset(ws2.UsedRange.Rows.Count - 1, 0) = Target.Address
ws2.Range("C1").Offset(ws2.UsedRange.Rows.Count - 1, 0) = Target.Cells.Value
Target.Font.Color = 255
Application.ScreenUpdating = True
End Sub