Как удалить границы из ячеек в диапазоне в Excel, используя VB.net? - PullRequest
9 голосов
/ 07 августа 2011

Цель для достижения: Чтобы избавиться от границ, если таковые имеются в клетках диапазона.

У меня есть:

Dim range As Excel.Range = sheet.Range("A2:K100")
For Each cell In range
    // Some cells in the Range has borders
    // How to remove borders from cells in the range
Next cell

Пожалуйста, помогите..!

Я новичок в Vb.net!

Ответы [ 4 ]

19 голосов
/ 07 августа 2011
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

Удаляет границы вокруг ячеек и между ячейками (через xlInsideHorizontal и xlInsideVertical).Если вы ожидаете диагональные границы, включите xlDiagonalDown и xlDiagonalUp.

Хорошо, приведенный выше код был очень многословным.Следующие должны сделать это тоже:

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
5 голосов
/ 14 января 2017

Диапазон ("A2: K100"). Borders.LineStyle = xlNone

1 голос
/ 08 ноября 2014

почему все ответы так запутаны?

для всего листа используйте ...

With .Cells
       .Borders.LineStyle = xlLineStyleNone
End With

для диапазона просто замените. Ячейки в зависимости от ситуации

1 голос
/ 07 августа 2011

Проверка Метод NamedRange.BorderAround .

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

ура и удачи!

...