By Mariannevan Lubek mercoledì 06 ottobre 2021
pubblicato in Kutools for Excel
Risposte 3
Mi piace 0
Visualizzazioni 7.2K
voti 0
Ho appena acquistato Kutools per Excel perché stavo cercando un'opzione per copiare in Excel solo i bordi da un'area selezionata, lasciando invariati il ​​contenuto, la formattazione e la larghezza della colonna dall'area di destinazione.

Ho trovato una soluzione per questo: utilizzando Kutools per Excel su questa pagina Web:
https://www.extendoffice.com/documents/excel/4336-excel-copy-borders-only.html#a1 

Ora ho provato a utilizzare la macro suggerita e ho scoperto che non fa affatto ciò che era stato promesso:
Oltre a copiare i bordi, inoltre:
- cancella la formattazione dall'area di destinazione
- cambia la colonna dell'area di destinazione
Inoltre la macro funziona abbastanza lentamente e le modifiche non possono essere annullate.

Potresti per favore aiutarmi a garantire che la macro faccia ciò che è stato promesso ....?

Spero di sentirti

Best
Marianne
Ciao Mariannevan Lubek,

Scusa per il disturbo. Qui abbiamo scritto un'altra macro per il caso. Per favore, puoi provare?

Sub CopyBorders()
Dim xRg, yRg As Range
On Error Resume Next

Set xRg = Application.InputBox("Select Range with Borders to Copy...", "Kutools For Excel", , , , , , 8)
Set yRg = Application.InputBox("Select Cells to Apply Borders to range..", "Kutools For Excel", , , , , , 8)

With yRg.Borders(xlEdgeLeft)
.LineStyle = xRg.Borders(xlEdgeLeft).LineStyle
.ColorIndex = xRg.Borders(xlEdgeLeft).ColorIndex
.TintAndShade = xRg.Borders(xlEdgeLeft).TintAndShade
.Weight = xRg.Borders(xlEdgeLeft).Weight
End With
With yRg.Borders(xlEdgeTop)
.LineStyle = xRg.Borders(xlEdgeTop).LineStyle
.ColorIndex = xRg.Borders(xlEdgeTop).ColorIndex
.TintAndShade = xRg.Borders(xlEdgeTop).TintAndShade
.Weight = xRg.Borders(xlEdgeTop).Weight
End With
With yRg.Borders(xlEdgeBottom)
.LineStyle = xRg.Borders(xlEdgeBottom).LineStyle
.ColorIndex = xRg.Borders(xlEdgeBottom).ColorIndex
.TintAndShade = xRg.Borders(xlEdgeBottom).TintAndShade
.Weight = xRg.Borders(xlEdgeBottom).Weight
End With
With yRg.Borders(xlEdgeRight)
.LineStyle = xRg.Borders(xlEdgeRight).LineStyle
.ColorIndex = xRg.Borders(xlEdgeRight).ColorIndex
.TintAndShade = xRg.Borders(xlEdgeRight).TintAndShade
.Weight = xRg.Borders(xlEdgeRight).Weight
End With
With yRg.Borders(xlInsideHorizontal)
.LineStyle = xRg.Borders(xlInsideHorizontal).LineStyle
.ColorIndex = xRg.Borders(xlInsideHorizontal).ColorIndex
.TintAndShade = xRg.Borders(xlInsideHorizontal).TintAndShade
.Weight = xRg.Borders(xlInsideHorizontal).Weight
End With
With yRg.Borders(xlInsideVertical)
.LineStyle = xRg.Borders(xlInsideVertical).LineStyle
.ColorIndex = xRg.Borders(xlInsideVertical).ColorIndex
.TintAndShade = xRg.Borders(xlInsideVertical).TintAndShade
.Weight = xRg.Borders(xlInsideVertical).Weight
End With
End Sub


Se hai altre domande, non esitare a farmelo sapere.

Amanda
·
anni fa, 2
·
0 Piace
·
0 Voti
·
Commenti
·
Ciao Mariannevan Lubek,

Una cosa che devo dirti è che, dopo aver eseguito il codice, devi selezionare tutte le celle a cui vuoi applicare i bordi ma non una cella, proprio come lo screenshot qui sotto:
seleziona cellule.png


Amanda
·
anni fa, 2
·
0 Piace
·
0 Voti
·
Commenti
·
Grazie, nel frattempo il problema è stato risolto in altro modo.
·
anni fa, 2
·
0 Piace
·
0 Voti
·
Commenti
·
Visualizza il post completo