2011-08-07 355 views

Respuesta

17
range.Borders(Excel.XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlLineStyle.xlLineStyleNone 
range.Borders(Excel.XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlLineStyle.xlLineStyleNone 
range.Borders(Excel.XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlLineStyle.xlLineStyleNone 
range.Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlLineStyle.xlLineStyleNone 
range.Borders(Excel.XlBordersIndex.xlInsideHorizontal).LineStyle = Excel.XlLineStyle.xlLineStyleNone 
range.Borders(Excel.XlBordersIndex.xlInsideVertical).LineStyle = Excel.XlLineStyle.xlLineStyleNone 

elimina los bordes alrededor de las células y entre las células (a través de xlInsideHorizontal y xlInsideVertical). Si espera bordes diagonales, incluya xlDiagonalDown y xlDiagonalUp.

De acuerdo, el código anterior era muy detallado. Lo siguiente debe hacerlo también:

For Each border in range.Borders 
    border.LineStyle = Excel.XlLineStyle.xlLineStyleNone 
Next 

Ver: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.borders.aspx

EDIT:

Al revisar la página de MSDN, me pregunto si éste revestimiento podría hacerlo también:

range.Borders.LineStyle = Excel.XlLineStyle.xlLineStyleNone 
+0

Sería muy lento si el rango ... es demasiado grande ... Entonces, ¿puede hacer esto para toda la gama a la vez? –

+0

Debe ser muy rápido ya que no está iterando sobre cada celda como en su muestra. ¿Lo intentaste? – VVS

+0

Supongo que es similar a como estamos iterando sobre el borde de cada celda ... Quiero decir que tu solución parece buena, pero ¿no hay un método directo para toda la gama? Creo que debe haber uno? –

1

Verificar NamedRange.BorderAround Method.

Dim range As Excel.Range = sheet.Range("A2:K100") 
range.BorderAround(Excel.XlLineStyle.xlLineStyleNone, Excel.XlBorderWeight.xlThin, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, missing) 

¡salud y buena suerte!

+0

Se maneja los bordes alrededor del rango y no dentro del rango. Estoy modificando la pregunta para que quede claro. –

0

¿por qué son todas las respuestas tan intrincadas?

para todo el uso de la hoja ...

With .Cells 
     .Borders.LineStyle = xlLineStyleNone 
End With 

para una gama tan sólo sustituye .Cells según corresponda

2

rango. ("A2: K100") Borders.LineStyle = xlNone

Cuestiones relacionadas