salve
la tua soluzione, prevede di duplicare la tabella ed eseguire un ciclo di comparazione.( troppo poco pratico ed elegante).
La domanda che ti ho posto sopra non ha avuto risposta. la ripeto: Qual'è la condizione che applica il bordo alla cella??
non è possibile applicare la condizione all'interno di una formattazione condizionale??
Se proprio vuoi una macro (mi vergogno solo a presentarla!!) prova quella che segue:
Option Base 1
Sub Bordi()
Dim Bord()
cont = 1
Set area = Range("a1", Range("a" & Range("A" & Cells.Rows.Count).End(xlUp).Row))
For n = 1 To area.Rows.Count
ReDim Preserve Bord(cont)
If Cells(n, 2).Borders.LineStyle = xlContinuous Then
Bord(cont) = Cells(n, 1)
cont = cont + 1
End If
Next
With Columns("B:B").Borders
.LineStyle = xlNone
End With
Range("A1").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlDescending
For i = LBound(Bord) To UBound(Bord)
For Each cl In area
If Bord(i) = cl.Value Then
cl.Offset(0, 1).Borders.LineStyle = xlContinuous
End If
Next cl
Next i
Set area = Nothing
End Sub
il codice dopra descritto, controlla se in cella di colonna B è applicato un bordo, se lo trova, scrive il valore di
cella A all'interno di una matrice- finito il ciclo di controllo, cancella tutti i bordi di colonna B , esegue l'ordinamento, e riassocia i bordi.
saluti
Giap