変更履歴機能によってレビュー対象としてマークされたセルを含む行のみを表示するようにシートをフィルター処理したいのですが、それが可能かどうか、またその方法をご存知の方はいらっしゃいますか?
答え1
以下に記述されたコードは、アクティブ シート内のすべての変更と新しいエントリを強調表示し、シート名、セル アドレス、および入力されたデータを含むログ シートを作成します。
監査シートのようなものです。
新しいエントリのハイライト表示は次のように機能し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