Страницы: 1
RSS
Удаление информации вне рамок
 
Здравствуйте, нужен некий механизм в эксель (макрос или встроенный функционал), который сможет удалять всю информацию вне нарисованных рамок. Буду очень признателен если подскажите, а то в интернете по теме не смог найти толковую информацию
 
Код
Sub ClearNonBrderedCellsActiveWorkbook()
    ClearNonBrderedCellsWorkbook ActiveWorkbook
End Sub

Private Sub ClearNonBrderedCellsWorkbook(wb As Workbook)
    Dim Application_Calculation As XlCalculation:    Application_Calculation = Application.Calculation:    Application.Calculation = xlCalculationManual
    
    Dim sh As Worksheet
    For Each sh In wb.Worksheets
        ClearNonBrderedCellsSheet sh
    Next
    
    Application.Calculation = Application_Calculation
End Sub

Private Sub ClearNonBrderedCellsSheet(sh As Worksheet)
    ClearNonBrderedCellsRange sh.UsedRange
End Sub

Sub ClearNonBrderedCellsSelection()
    ClearNonBrderedCellsRange Selection
End Sub

Private Sub ClearNonBrderedCellsRange(rn As Range)
    Dim Application_Calculation As XlCalculation:    Application_Calculation = Application.Calculation:    Application.Calculation = xlCalculationManual
    
    Dim cl As Range
    For Each cl In rn.Cells
        If Not HasBorders(cl) Then cl.ClearContents
    Next
    
    Application.Calculation = Application_Calculation
End Sub

Private Function HasBorders(cl As Range) As Boolean
     Dim bd As Border
     For Each bd In cl.Borders
        If bd.LineStyle <> xlNone Then
            HasBorders = True
            Exit For
        End If
     Next
End Function
 
МатросНаЗебре, Спасибо огромное, вы так быстро, как будто ждали
 
Цитата
написал:
так быстро, как будто ждали
Вы ещё не видели, как тут реагируют в ветке Работа )
Страницы: 1
Наверх