Sub IncollaTrasponi()
Dim RigaPartenza
Dim RigaArrivo
Dim IndiceArrivo
Dim Cancellare
Dim TrovatoRiga
Dim PrimaCellaArr
Dim PrimaCellaPar
Dim EsisteProdotto
Cancellare = MsgBox("Procedo e Cancello?", vbYesNo + vbQuestion, "CANCEELLO?")
If Cancellare = vbNo Then
Exit Sub
End If
Set PrimaCellaArr = Sheets("Elenco Rielaborato").Range("A2")
With Sheets("Elenco Rielaborato").Range(PrimaCellaArr, PrimaCellaArr.End(xlDown).Offset(0, 25))
.ClearContents
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Set PrimaCellaPar = Sheets("Elenco di Partenza").Range("A2")
For Each RigaPartenza In Sheets("Elenco di Partenza").Range(PrimaCellaPar, PrimaCellaPar.End(xlDown))
If Sheets("Elenco Rielaborato").Range("A2") = "" Then
BordiNeri (Sheets("Elenco Rielaborato").Range("A2"))
Sheets("Elenco Rielaborato").Range("A2") = RigaPartenza
BordiNeri (Sheets("Elenco Rielaborato").Range("A2").Offset(0, 1))
Sheets("Elenco Rielaborato").Range("A2").Offset(0, 1) = RigaPartenza.Offset(0, 1)
Else
TrovatoRiga = False
For Each RigaArrivo In Sheets("Elenco Rielaborato").Range(PrimaCellaArr, PrimaCellaArr.Offset(Rows.Count - 10, 0).End(xlUp))
If RigaArrivo = RigaPartenza Then
TrovatoRiga = True
EsisteProdotto = False
For IndiceArrivo = 2 To RigaArrivo.End(xlToRight).Column
If RigaArrivo.Offset(0, IndiceArrivo - 1) = RigaPartenza.Offset(0, 1) Then
EsisteProdotto = True
End If
Next IndiceArrivo
If Not EsisteProdotto Then
BordiNeri (RigaArrivo.Offset(0, RigaArrivo.End(xlToRight).Column))
RigaArrivo.Offset(0, RigaArrivo.End(xlToRight).Column) = RigaPartenza.Offset(0, 1)
End If
End If
Next RigaArrivo
If Not TrovatoRiga Then
With PrimaCellaArr.Offset(Rows.Count - 10, 0).End(xlUp)
.Offset(1, 0) = RigaPartenza
BordiNeri (.Offset(1, 0))
.Offset(1, 1) = RigaPartenza.Offset(0, 1)
BordiNeri (.Offset(1, 1))
End With
End If
End If
Next RigaPartenza
End Sub
Sub BordiNeri(Target As Range)
With Target
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
End Sub
|