2011-08-07 3 views

답변

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 

은 (xlInsideHorizontalxlInsideVertical 통해) 세포 및 주변 세포 간의 경계를 제거한다. 대각선 테두리가 필요한 경우 xlDiagonalDownxlDiagonalUp을 포함하십시오.

좋습니다. 위의 코드는 매우 자세합니다. 다음은 너무 그것을 수행해야합니다

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

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

편집 :이 하나 라이너도 할 수 있다면

은 MSDN 페이지를 찾고있는 동안, 나는 궁금하네요 :

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

.. 범위가 너무 크면 매우 느릴 것입니다. 그럼 전체 범위에서 동시에 할 수 있습니까? –

+0

샘플 에서처럼 모든 셀을 반복하지 않기 때문에 매우 빨라야합니다. 너 해봤 니? – VVS

+0

나는 각 셀의 경계를 반복하는 것처럼 비슷하다고 생각한다. 나는 당신이 솔루션이 좋다고 생각하지만, 전체 범위에 대한 직접적인 방법이 아닌가? 하나가 있어야한다고 생각합니까? –

1

확인 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) 

환호와 행운을 빕니다!

+0

그것을 범위 내에서가 아니라 범위 주변의 경계를 관리합니다. 질문을 명확하게 수정하고 있습니다. –

0

왜 모든 답변이 너무 복잡합니까? 범위에 대한

With .Cells 
     .Borders.LineStyle = xlLineStyleNone 
End With 

그냥 적절한

2

범위로 .Cells 교체 전체 시트 사용

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

관련 문제