Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C:C")) Is Nothing Then
Application.EnableEvents = False
Dim Ur, Rg, RgA As Object
Ur = Range("R" & Rows.Count).End(xlUp).Row + 1
If Target.Offset(0, 0) = True Then
Range(Cells(Target.Row, 8), Cells(Target.Row, 16)).Copy
Cells(Ur, 18).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveWorkbook.Worksheets("Foglio1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Foglio1").Sort.SortFields.Add Key:=Range("Z4:Z" & Ur) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Foglio1").Sort
.SetRange Range("R4:Z" & Ur)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Else
Set RgA = Range("R3:R" & Ur).Find(Cells(Target.Row, 1), LookIn:=xlValues, LookAt:=xlWhole)
If Not RgA Is Nothing Then
Rg = RgA.Row
Range(Cells(Rg, 18), Cells(Rg, 26)).ClearContents
ActiveWorkbook.Worksheets("Foglio1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Foglio1").Sort.SortFields.Add Key:=Range("Z4:Z" & Ur) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Foglio1").Sort
.SetRange Range("R4:Z" & Ur)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End If
Application.CutCopyMode = False
Application.EnableEvents = True
Target.Offset(0, 0).Activate
End If
End Sub |