Excel: Impossibile impostare la proprietà LineStyle per la classe Border
Si parla di Excel 2000 e 2003, non ho ancora provato sul 2007.
Ho avuto bisogno di aggiungere, via macro vba dei bordi ad alcune celle. Mi sono fatto dire da Excel come fare, registrando una macro. il risultato è stato il seguente:
Range("E30:M30").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Se lanciate la macro, non va, e segnala il seguente errore:
errore di run-time 1004: Impossibile impostare la proprietà LineStyle per la classe Border
La soluzione all’inghippo l’ho trovata da mamma Microsoft:
http://support.microsoft.com/kb/277577/it
Il motivo, tradotto in automatico, è il seguente:
È visualizzato il messaggio di errore poiché il codice di record macro (riguardanti la proprietà XlInsideHorizontal ) è non valido per un intervallo bordato con solo una riga.
La proprietà XlInsideHorizontal è valida solo se si “bordano” almeno due righe, non una sola.
Quindi danno la soluzione: commentare il blocco riguardante la proprietà XlInsideHorizontal.
In questo modo la macro funzione correttamente.
Leave a Reply