2013-08-14 7 views
5

C'è un modo per inserire una nuova riga preservando il formato del bordo? Sono in grado di inserire preservando tutta la formattazione tranne i bordi. La macro che sto creando richiederà all'utente un valore (strXX), quindi lo cercherà in una lista. Se non esiste, viene eseguito quanto segue.impossibile conservare il formato del bordo su range.insert

iRow = WorksheetFunction.Match(strXX, Columns("A")) + 1 
Intersect(Range("Z:TT"), Rows(iRow)).Insert _ 
XlInsertShiftDirection.xlShiftDown, CopyOrigin:=Excel.XlInsertFormatOrigin.xlFormatFromLeftOrAbove 

C'è qualcosa che devo cambiare rispetto alla CopyOrigin? Sembra che ci siano metodi disponibili tramite le funzioni Incolla, tuttavia non sono in grado di trovare un metodo simile quando si utilizza .Insert.

Qualsiasi assistenza è molto apprezzata ... Grazie!

aggiornamento (8/15): Dato questo post, ho riformattato cose nella mia foglio di calcolo e sono in grado di risolvere il problema. Sono ancora molto interessato al feedback poiché la configurazione originale non era in grado di copiare il bordo. Questo sicuramente riemergerà in un secondo momento. Si prega di vedere sotto per informazioni di supporto.

Ci sono 2 fogli che verranno aggiornati. Il primo funziona bene in quanto conserva la formattazione della cella (non è richiesto alcun bordo). Vedi sotto. enter image description here

Il problema descritto in questa sezione riguarda il secondo foglio. La riga viene inserita e tutta la formattazione viene mantenuta tranne i bordi (impostazione standard "Bordi esterni"). Vedi sotto. enter image description here

+0

si può mostrare qualsiasi schermata della presentazione gamma (da selezione) in cui si desidera inserire nuova riga? secondo me non ci sono confini completamente impostati intorno alla tua area di inserimento, questo è il risultato. sono confini standard o alcuni sofisticati? –

+0

Ciao KazJaw. Tuttavia, ho una risposta pronta per gli screenshot, non mi consente di inviare il messaggio poiché non ho abbastanza punti reputazione da presentare :(Fammi vedere se esiste un modo alternativo per realizzare gli screenshot. Thx! – Lazyeye

+0

@KazJaw - I non vedo un'opzione per postare schermate a causa dei miei punti reputazione.Le righe sopra/sotto l'elemento inserito contengono un bordo standard 'Bordi esterni' La nuova riga contiene il bordo 'verticale', tuttavia manca il bordo orizzontale sopra il nuovo riga – Lazyeye

risposta

1

Just do it con il codice come suggerito nei commenti, qualcosa di simile

With cell.Borders(xlEdgeTop) 
    .LineStyle = xlContinuous 
    .ColorIndex = 0 
    .TintAndShade = 0 
    .Weight = xlThin 
End With 
With cell.Borders(xlEdgeBottom) 
    .LineStyle = xlContinuous 
    .ColorIndex = 0 
    .TintAndShade = 0 
    .Weight = xlThin 
End With 
With cell.Borders(xlEdgeRight) 
    .LineStyle = xlContinuous 
    .ColorIndex = 0 
    .TintAndShade = 0 
    .Weight = xlThin 
End With 
With cell.Borders(xlEdgeLeft) 
    .LineStyle = xlContinuous 
    .ColorIndex = 0 
    .TintAndShade = 0 
    .Weight = xlThin 
End With 
Problemi correlati